iPhone X 适配

1、首先适配一下启动图,关于屏幕分辨率的问题,已经有很多文章阐述,简单说一下:

iPhone X的启动图片就一张,格式是1125px × 2436px (375pt × 812pt @3x)。

2、进入LaunchImage,点击一张之前的启动图,在右侧LaunchImage选项下的iOS8.0 and Later选项下勾选Portrait。此时LaunchImage就多出了个iPhone X的启动图位置。把做好的图片拉入这个空位就可以了。备注(此方案针对使用LaunchImage的亲)

3、此时删除您的应用重新运行一下,就可以看到iPhone X下的启动图就没问题了。

完成以上三部剩下的就是适配的为题,很多关于安全区域的介绍请参考其他资料,这里说比较重要的两个问题,TabBar 和 Status Bar 问题

定义一个通用的常量宏,这样可以一处修改,全部修改。 说白了就是不要写死,比如说导航栏高度,直接写64直接洗白。

适配iPhone X用到的宏有:

// 判断是否是iPhone X

#defineiPhoneX([UIScreeninstancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1125,2436), [[UIScreen mainScreen] currentMode].size) : NO)

// 状态栏高度

#defineSTATUS_BAR_HEIGHT(iPhoneX ?44.f:20.f)

// 导航栏高度

#defineNAVIGATION_BAR_HEIGHT(iPhoneX ?88.f:64.f)

// tabBar高度

#defineTAB_BAR_HEIGHT(iPhoneX ? (49.f+34.f) :49.f)

// home indicator

#defineHOME_INDICATOR_HEIGHT(iPhoneX ?34.f:0.f)


比如

CGRecttabFrame =self.tabBar.frame;

tabFrame.size.height=_height_tabBar;

tabFrame.origin.y=self.view.frame.size.height-_height_tabBar;

self.tabBar.frame= tabFrame;

这个是时候,你会发现tabBar上的图片乱调了

你可能感兴趣的:(iPhone X 适配)