insertSections: withRowAnimation:和reloadData遇到的坑

一般展示数据的页面都有一个上拉加载更多的功能,当请求下来的数据添加到数据源之后,我们需要进行刷新界面,这时如果使用reloadData会比较消耗性能,最简单的方式是insertSections: withRowAnimation:,但是当我们调用这些方法时可能会遇到一些奇怪的问题。

(本来录制的视频展示的bug,奈何无法上传,只能用文字描述一下了,还请大家见谅)

reloadData遇到的问题:界面会跳动一下,这就让我们很不爽,严重影响了用户体验。

insertSections遇到的问题: 界面也会跳动,假设我们设置了sectionFooterView或者设置了sectionHeaderView导致在cell上显示了多余的sectionFooterView/sectionHeaderView。

究其原因是由于我们设置了tableView.estimatedRowHeight的原因导致,当我们刷新的时候会预先使用预估的高度,但是我们的实际高度可能不是这个,最终导致的这个问题。

如果我们没有用代码设置tableView.estimatedRowHeight,那就是xib的问题

只需将automatic取消选中即可

只需将automatic取消选中即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容