iOS11 TableView reloadData 后出现contentSize计算不准确的情况
2019-03-29 15:34
686 查看
原因:
在iOS 11中默认启用Self-Sizing。
而在开启Self-Sizing之后,TableView会使用estimateRowHeight属性,就会造成contentSize和contentOffset值的变化。
因为不会缓存正确的行高,在TableView reloadData的时候,就会重新计算contentSize,从而引起contentOffset的变化。
解决:
知道了原因之后,问题就好解决了,只需要关闭这个功能就行了。
[UITableView appearance].estimatedRowHeight = 0; [UITableView appearance].estimatedSectionFooterHeight = 0; [UITableView appearance].estimatedSectionHeaderHeight = 0;
注意三个属性都需要设置,即使你没用到sectionHeader或者sectionFooter也要设置!!!
注意三个属性都需要设置,即使你没用到sectionHeader或者sectionFooter也要设置!!!
注意三个属性都需要设置,即使你没用到sectionHeader或者sectionFooter也要设置!!!
重要的事情说三遍。
相关文章推荐
- 第13月第25天 ios11 uitableview reloaddata contentsize
- iOS tableView reloadData不生效或出现问题
- 设置tableView 的header和footer失去粘性以及底部出现空白的情况
- tableview的reloadData应注意
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- Cocos2d-x学习之---关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- tableview的reloadData应注意
- reloaddata 是没有对 tableview的 headerview进行 刷新的,
- 关于UITableView reloadData时发生App crash的情况
- [tableView reloadData]方法添加动画的方法
- tableView之reloadData方法
- iOS tableView reloadData 抖动问题
- tableview的reloadData应注意
- UITableView 滚动时使用reloaddata出现 crash'-[__NSCFArray objectAtIndex:]: index (1) beyond bounds (0)' Crash
- tableView.reloadData()无效
- 源码推荐(6.26):三级联想菜单(也可以当二级),tableView reloadData动画(swift)
- 关于CCTableView中reloadData()操作,删除第一个/最后一个cell后tableview位置未刷新的问题
- iOS11 UITableView reloadData 界面跳动问题
- 修改tableview的contentsize
- 如何检测tableview reloaddata结束【ios】