1.視圖漂移或者閃動緣由:
由於iOS 11後系統默認開啓Self-Sizing,首先要知道Self-Sizing是個什麼東東。官方文檔是這樣解釋的:大概就是說咱們不用再本身去計算cell的高度了,只要設置好這兩個屬性,約束好佈局,系統會自動計算好cell的高度。
IOS11之後,Self-Sizing默認開啓,包括Headers, footers。若是項目中沒使用estimatedRowHeight屬性,在IOS11下會有奇奇怪怪的現象,由於IOS11以前,estimatedRowHeight默認爲0,Self-Sizing自動打開後,contentSize和contentOffset均可能發生改變。
因此能夠經過如下方式禁用:佈局
在tableView初始化的地方加入下面代碼code
self.tableView.estimatedRowHeight = 0; self.tableView.estimatedSectionHeaderHeight = 0; self.tableView.estimatedSectionFooterHeight = 0;
如今在reloadData視圖漂移或者閃動就沒有了文檔