UITableView

iOS11 UITableView reloadData 视图跳

2018-04-23  本文已影响17人  lcc小莫

1.视图漂移或者闪动原因:
因为iOS 11后系统默认开启Self-Sizing。这个属性的作用是:自动计算好cell的高度
IOS11以后,Self-Sizing默认开启,包括Headers, footers。如果项目中没使用estimatedRowHeight属性,在IOS11下会发生闪动跳跃、或者顶部出现空白的bug,因为IOS11之前,estimatedRowHeight默认为0,Self-Sizing自动打开后,contentSize和contentOffset都可能发生改变。
2.解决办法:
所以可以通过以下方式禁用:
在tableView初始化的地方加入下面代码
self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
现在在reloadData视图漂移或者闪动就没有了

上一篇 下一篇

猜你喜欢

热点阅读