我们平时在开发中,有时候会遇到这样的问题:
在控制器中添加了一个控件,然后设定了控件的位置,会发现控件是从屏幕的顶部开始计算位置,这种情况如果是在以前还好,因为我们知道导航栏的高度是64像素,所以我们可以通过增加Y坐标的起始位置来留出导航栏的位置,但是这样的方式感觉总是怪怪的。
自从最近苹果发布了iphoneX以后,我们就不能再去增加64个像素这么简单了,这里有两种方式可以适配留出导航栏的位置:
第一种就是,获取状态栏和导航栏的高度,然后相加,就是我们需要留出的导航栏总高度的位置,代码如下:(我是用的swift)
UIApplication.shared.statusBarFrame.size.height+(self.navigationController?.navigationBar.frame.size.height)!
第二种办法就是在Storyboard中去修改属性,我们先选中我们需要适配的控制器
然后选择下面这一栏
把这个地方的三个勾都选上
这个时候我们添加控件的时候,Y坐标的起始位置就是从导航栏底部开始计算了