/* 解决 UITableview刷新时界面“乱跑”现象
Self-Sizing在iOS11下是默认开启的,Headers, footers, and cells都默认开启Self-Sizing,所有estimated 高度默认值从iOS11之前的 0 改变为UITableViewAutomaticDimension
estimatedRowHeight这个属性是给tableView每行设置预估行高,如果目前项目中没有使用estimateRowHeight属性,在iOS11的环境下就要注意了,因为开启Self-Sizing之后,tableView是使用estimateRowHeight属性的,这样就会造成contentSize和contentOffset值的变化,在估算行高机制下,contentSize的值是一点点地变化更新的,所有cell显示完后才是最终的contentSize值。因为不会缓存正确的行高,tableView reloadData的时候,会重新计算contentSize,就有可能会引起contentOffset的变化,就出现上述奇怪的现象。
**/
if #available(iOS 11.0, *) {
tw.estimatedRowHeight = 0;
tw.estimatedSectionHeaderHeight = 0;
tw.estimatedSectionFooterHeight = 0;
}
解决 UITableview刷新时界面“乱跑”现象
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 项目中出现刷新tableview界面时,会发生界面跳到别的地方,而不是停留在当前操作的动态部分,这是因为iOS 1...
- Self-Sizing在iOS11下是默认开启的,Headers, footers, and cells都默认开启...
- UITableView界面刷新时回弹的效果在iOS 11后出现,所以需要在didFinishLaunchingWi...
- 项目中出现刷新tableview界面时,会发生界面跳到别的地方,而不是停留在当前操作的动态部分,这是因为iOS 1...
- 问题描述 相信很多做过Viewpager的人肯定遇到过这个问题,这个是bug还是android就是如此设计的,我们...