1. 程式人生 > >IOS11新特性:安全區域(tableview內容下移狀態列的高度)

IOS11新特性:安全區域(tableview內容下移狀態列的高度)

ios 11系統出來後,需要適配一下tableview,如果tableview的介面沒有導航欄,並且想要tableview的內容和狀態列重複的話,就需要考慮到iOS11的安全區域問題了。這些是上網搜到的一位大神部落格,找到了解決辦法,非常感謝大神。把方法分享給大家,希望能解決問題。
解決辦法

//如果iOS的系統是11.0,會有這樣一個巨集定義“#define __IPHONE_11_0  110000”;如果系統版本低於11.0則沒有這個巨集定義
#ifdef __IPHONE_11_0   
if ([tableView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) {
    tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
#endif

出現這種情況的原因
ios 11中automaticallyAdjustsScrollViewInsets屬性被廢棄,進而影響了tableview的內容高度。
iOS11中新提出了安全區域的問題,如果沒有控制元件內容和不可視區域重複的話,會自動下移到可視區域。