最近刚把公司项目都适配的iPhone X,适配完感觉总结下笔记好,所以写篇文章总结一下我适配过程的方法和地方.
1. iPhone X上下位置增加高度
iPhone X在原机型的基础上,上面的导航栏增加 24, 下面tabbar增加 34, 也就是iPhone X的导航栏现在高度是 64+24 = 88, tabbar高度是 49+34 = 83.
2.extension 判断机型是iPhone X
这里我extension了 UIDevice,通过判断屏幕高度来判断当前设备是否是iphoneX.
extension UIDevice {
publicfuncisX() ->Bool{
if UIScreen.main.bounds.height == 812 {
returntrue
}
return false
}
}
3.宏定义导航栏和tabbar高度
let kNavigationBarHei:CGFloat = 64.0 + (UIDevice.current.isX() == true ? 24.0 : 0)
let kBottomBarHei:CGFloat = 49.0 + (UIDevice.current.isX() == true ? 34.0 : 0)
项目中页面或控件相对父视图的约束值直接用这个宏即可
4.底部控件修改避免影响交互
比如像上面图所示,之前约束距底部就编程这样,在点击底部area区域是,可能会对按钮交互有影响,这种情况有几种解决方法,
1:控件上移,但这时候area区域会空出来,这时候如果页面是全屏内容的话,就比较麻烦了,还需要把area区域颜色修改或者自己创建view覆盖上去,这样比较麻烦,不推荐.
2.简单方法可以直接把控件高度增加,这样就可以把显示的内容和交互整体上移.
网友评论