iOS 11中新增了安全區(qū)域的概念,當(dāng)控件超出安全區(qū)域時(shí)系統(tǒng)會(huì)自動(dòng)調(diào)整其SafeAreaInsets值焊傅,導(dǎo)致可能出現(xiàn)與我們預(yù)期的不同效果剂陡。
如下圖,左側(cè)為iOS10模擬器狐胎,右側(cè)為iOS11模擬器鸭栖。在iOS11中狀態(tài)欄位置成為了空白,原因正是如此顽爹。
iOS 10與iOS 11對(duì)比圖
我的解決方法:
通過(guò)設(shè)置tableView的contentInsetAdjustmentBehavior屬性取消系統(tǒng)的"自適應(yīng)"操作纤泵。實(shí)際上只需要內(nèi)部那個(gè)判斷系統(tǒng)版本的操作即可解決,這邊算是做了雙保險(xiǎn)判斷來(lái)確認(rèn)當(dāng)系統(tǒng)想對(duì)我們的tableView做改變的時(shí)候制止它镜粤。
還有其他解決方法以及相關(guān)概念說(shuō)明大家可以參考---《iOS 11 安全區(qū)域適配總結(jié)》?