iOS UITableView reloadData 視圖漂移或者閃動解決方法
原創(chuàng)
2017年11月02日 16:48:23
標(biāo)簽:
-
/
-
/
-
/
-
/
103
1.視圖漂移或者閃動原因:
因為iOS 11后系統(tǒng)默認(rèn)開啟Self-Sizing乒融,首先要知道Self-Sizing是個什么東東。官方文檔是這樣解釋的:大概就是說我們不用再自己去計算cell的高度了摄悯,只要設(shè)置好這兩個屬性簇抵,約束好布局,系統(tǒng)會自動計算好cell的高度射众。
IOS11以后碟摆,Self-Sizing默認(rèn)開啟,包括Headers, footers叨橱。如果項目中沒使用estimatedRowHeight屬性典蜕,在IOS11下會有奇奇怪怪的現(xiàn)象,因為IOS11之前罗洗,estimatedRowHeight默認(rèn)為0愉舔,Self-Sizing自動打開后,contentSize和contentOffset都可能發(fā)生改變伙菜。
所以可以通過以下方式禁用:
在tableView初始化的地方加入下面代碼
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
現(xiàn)在在reloadData視圖漂移或者閃動就沒有了