iPhoneX适配

作者: 直男程序员 | 来源:发表于2018-02-28 15:52 被阅读91次


    最近刚把公司项目都适配的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.简单方法可以直接把控件高度增加,这样就可以把显示的内容和交互整体上移.

    相关文章

      网友评论

      • 梁森的简书:你是这是适配了iphone X 如果再出一个小屏幕的iphoneX或更大屏幕的iphoneX呢

      本文标题:iPhoneX适配

      本文链接:https://www.haomeiwen.com/subject/axxixftx.html