我們平時在開發中,有時候會遇到這樣的問題:
在控制器中添加了一個控件,然后設定了控件的位置,會發現控件是從屏幕的頂部開始計算位置,這種情況如果是在以前還好,因為我們知道導航欄的高度是64像素,所以我們可以通過增加Y坐標的起始位置來留出導航欄的位置,但是這樣的方式感覺總是怪怪的。
自從最近蘋果發布了iphoneX以后,我們就不能再去增加64個像素這么簡單了,這里有兩種方式可以適配留出導航欄的位置:
第一種就是,獲取狀態欄和導航欄的高度,然后相加,就是我們需要留出的導航欄總高度的位置,代碼如下:(我是用的swift)
UIApplication.shared.statusBarFrame.size.height+(self.navigationController?.navigationBar.frame.size.height)!
第二種辦法就是在Storyboard中去修改屬性,我們先選中我們需要適配的控制器
然后選擇下面這一欄
把這個地方的三個勾都選上
這個時候我們添加控件的時候,Y坐標的起始位置就是從導航欄底部開始計算了