如果不了解iPhone X屏幕和普通的区别,去看这个链接,懒得扒图
https://developer.apple.com/ios/human-interface-guidelines/overview/iphone-x/
由题意得:
∵
4.7” 375*667
X 375*812
∴
X 是加长版的4.7寸系列的机子
∵
X的状态栏由20变为44
X的底部因为Home键加了一个34的安全区
∴
X的安全区高度为 812 - 44- 34 = 734
∴
适配的思路就是
1.如果你的app现在换了启动图后(换启动图在X上全屏查其他人资料),如果你的app在安全区外有操作控件 **并且影响了正常使用,那就要解决,如果在上部可以往下移动,或者上部整体拉回安全区,下部也是
2.如果系统使用的是自定义Nav,需要在X上将Nav高度设置为88,而不是之前的64
#define IS_IPHONEX ((int)DEVICE_HEIGHT%812==0)
#define StatusBarHeight (SCREEN_HEIGHT == 812.0 ? 44 : 20)
#define NavBarHeight 44
#define SafeAreaTopHeight (SCREEN_HEIGHT == 812.0 ? 88 : 64)
#define SafeAreaBottomHeight (SCREEN_HEIGHT == 812.0 ? 34 : 0)
#define SafeAreaHeightWithNav SCREEN_HEIGHT - SafeAreaTopHeight - SafeAreaBottomHeight
#define TabBarHeight 49
针对我们的app使用了这些参数,主要其实就是SafeAreaTopHeight和SafeAreaBottomHeight这两个参数,其他方面 ,根据项目具体再适配,我们是比例纯代码