这次苹果一口气出了三款新设备又要迎来了一波适配,首先来看下设备的相关参数:
逻辑分辨率 宽高比 |
物理分辨率(像素)(pixel)(px) | 像素密度沿着对角线每英寸所拥囿的像素数目(PPI) |
四者是圆角所以对角线比左侧值稍小些 | ||
决定屏幕清晰度的值-像素密度 | ||
先分析下数据:如果做适配,我们主要关注IphoneX以后出嘚设备的逻辑分辨率可以看出X与XS的逻辑分辨率一致,而XR与MAX是逻辑分辨率一致;我们再来看X与XS的高宽比812 / 375 = 2.17,以及XR及MAX的高宽比896 / 414 = 2.18而我们的工程之前肯定都适配过X了,所以适配XR与MAX就so easy了,而且这四种设备都是只支持面容ID而不支持TOUchID的,只要把IphoneX的宏定义对IphoneX的判断或上XR与MAX就行了以前我們工程里的宏定义如下:
如果你的项目刚创建不就很easy的情况,强烈建议对整个工程的baseVC做处理即:在baseVC的View上添加一个UIScrollView,在此SCRollVIew上再添加一个view做所有子控制器的父view这样,即使以后出现其他宽高比的设备就不用单独做适配了。
还是如果你的项目刚创建不就很easy的情况建议对cgrectMake结构體做文章,让你的控件的宽和高按你基准设计图和屏幕的宽高比去变化这也算是一劳永逸的操作。