适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常

如果帮到你就动动小手,点个赞吧

1.在项目中设置菜单栏和导航栏后在别的机型效果正常,在iPhone X上出现下面这种情况:

适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第1张图片

解决办法 : iPhoneX 的状态栏尺寸和其它型号是不一样的,iPhoneX 的状态栏高度为44 , 其它型号为20 ,所以在设置Menu的frame时设置为: CGRectMake(0, 44 + StatusBarHeight, WIDTH, 40)

在pch文件中定义全局宏 StatusBarHeight

//状态栏statusBar高度
#define StatusBarHeight  [[UIApplication sharedApplication]statusBarFrame].size.height
这样就OK了,完成后效果:

适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第2张图片

2. xib拖得控件在iPhone X上位置出现错误,如图所示:

适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第3张图片

解决方法 :

① : 将图示约束拖为属性,就是该输入框距上距离这个属性

适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第4张图片-----> 适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第5张图片

②. 设置这个属性的constant值,这个StatusBarAndNaviBarHeight宏是我设置的导航栏与状态栏高度的和

//状态栏statusBar和导航栏高度和
#define StatusBarAndNaviBarHeight  [[UIApplication sharedApplication]statusBarFrame].size.height + 44

效果如下   所有可视化创建的视图都适用!:

适配iPhoneX菜单栏和导航栏,以及可视化创建的视图显示异常_第6张图片




你可能感兴趣的:(iOS)