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上的图片乱调了
网友评论