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

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

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

在pch文件中定义全局宏 StatusBarHeight

//状态栏statusBar高度

#define StatusBarHeight  [[UIApplication sharedApplication]statusBarFrame].size.height

这样就OK了,完成后效果:

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

解决方法 :

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

----->

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

//状态栏statusBar和导航栏高度和

#define StatusBarAndNaviBarHeight  [[UIApplication sharedApplication]statusBarFrame].size.height + 44

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容