iPhone多尺寸屏幕适配--等比例数值计算

    作为一个iOS开放者,在iPhone6和iPhone6 plus发布之后,慢慢的都会遇到屏幕适配的问题。
    在讨论适配之前,我们先来看看系统提供的放大模式。
放大模式下:屏幕尺寸仍然为320宽度,会根据设备,界面等比放大至其他屏幕宽度的尺寸,由于是放大,会导致界面有轻微的模糊,并且状态栏也会和平时不一样(明显变大了)。

    那么适配模式下呢?不同尺寸设备的屏幕点像素是不一样的,如果要处理一个界面,并且要求iPhone6plus和iPhone5S是同一套设计稿,看起来一样比例。那么怎么破?


    无论是使用传统布局,还是使用AutoLayout,都避不开的是界面的数值计算,比如同一个左边距,在iPhone5下是10px,但是等比换算到iPhone6plus的时候差不多就是13px了,莫非为了不同屏幕看起来比例一样,我们还要分开处理,用条件来判断并分别布局么?

    当我开始这么想的时候,我是拒绝的,因为我们是爱加特效的开发者,怎么能连等比例计算都不会玩呢?

    好了拿到iPhone5s屏幕尺寸640*1136的设计稿,什么?左边距是20px?

CGFloat leftPadding = 10*SCREEN_WIDTH/320.0;

    LOOK! 我们已经有了一个可以在各个尺寸屏幕下按同一个设计稿等比例适应的左边距了! 恩恩,还有很多值,一个个来…

CGFloat rightPadding = 15*SCREEN_WIDTH/320.0;
CGFloat topPadding = 20*SCREEN_WIDTH/320.0;
.....

    等等,这么算,貌似有很多重复的东西出现了:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值