iOS11版本適配問題

iOS11正式版已經(jīng)發(fā)布,相信大部分人已經(jīng)升級了最新的iOS11和Xcode9.0,那么老的版本也就帶來了新的問題,我們的任務--“填坑”!

一、安全區(qū)域問題

上圖:

這個頁面布局其實是tableView覆蓋整個屏幕的,設置的tableView的背景色為blueColor,但是很明顯整個tableview內(nèi)容下滑了20pt。

原因:iOS 11中automaticallyAdjustsScrollViewInsets屬性被廢棄了,self.automaticallyAdjustsScrollViewInsets = NO 就等于沒有設置(默認是YES),于是頂部就多了一定的contentInset。
如果你的APP中使用的是自定義的navigationbar,隱藏掉系統(tǒng)的navigationbar,并且tableView的frame為(0,0,SCREENWIDTH, SCREENHEIGHT)開始,那么系統(tǒng)會自動調(diào)整SafeAreaInsets值為(20,0,0,0)。

解決方法:

if (@available(iOS 11.0, *)) {
     self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
} else {
     self.automaticallyAdjustsScrollViewInsets = NO;
}

補充:體統(tǒng)了新的API@available(iOS 11.0, *) 系統(tǒng)版本判斷,再也不用手動調(diào)取系統(tǒng)版本進行對比了??!

解決后視圖

關于安全區(qū)域適配,簡書上的這篇文章iOS 11 安全區(qū)域適配總結(jié)總結(jié)介紹得非常詳細,請參考這篇文章。

二、tableView分區(qū)頭和尾問題(代碼不嚴謹)


如圖,我想要的結(jié)果是不現(xiàn)實分區(qū)頭和尾,代碼中我也把tableView的heightForFooterInSectionheightForHeaderInSection設置成0.1了


但是為什么不起作用?iOS11以前這樣寫一點問題也沒有,iOS 11上發(fā)生tableView頂部有留白,原因是代碼中只實現(xiàn)了heightForHeaderInSection方法,而沒有實現(xiàn)viewForHeaderInSection方法。那樣寫是不規(guī)范的,只實現(xiàn)高度,而沒有實現(xiàn)view,但代碼這樣寫在iOS 11之前是沒有問題的,iOS 11之后應該是由于開啟了估算行高機制引起了bug。添加上viewForHeaderInSection方法后,問題就解決了?;蛘咛砑右韵麓a關閉估算行高,問題也得到解決。

_tableView.estimatedRowHeight = 0;
_tableView.estimatedSectionHeaderHeight = 0;
_tableView.estimatedSectionFooterHeight = 0;

目前發(fā)現(xiàn)的iOS11在非iPhone X上的問題,會持續(xù)更新,稍后整理下iPhoneX顯示適配,歡迎大家討論。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 適配iOS11 ??蘋果官方文檔??蘋果官方視頻為了掙錢...哦??不是,為了廣大中國的開發(fā)者,蘋果官方文檔出了好多中文...
    philiha閱讀 1,216評論 1 50
  • 前言 蘋果WWDC開發(fā)者大會上,終于發(fā)布了大家期待已久的iOS 11,有些新特性功能確實出人意料。不過大的方面蘋果...
    Mr_Say_Yes閱讀 3,452評論 6 15
  • 告別朋友,沿著黃土公路,向大悟縣出發(fā),一路上也許是看到了太多的大山大河,這里的景色不是太吸引人,可能是我把注意力放...
    木頭馬尾226閱讀 587評論 0 3
  • 不少規(guī)范只是為了統(tǒng)一風格。這里記下一些有理由的設計。 命名 命名規(guī)范會有些額外作用: 區(qū)分作用域:局部,成員屬性,...
    小小青蛙不怕風吹雨打閱讀 263評論 0 0
  • 信息課引起的風波 文/朱俊丞 這幾天我的頭都爆了!我可沒生病發(fā)燒,這只能怪信息課。 上個星期我們?nèi)ド闲畔⒄n,老師教...
    王了一一閱讀 303評論 1 2

友情鏈接更多精彩內(nèi)容