一般展示数据的页面都有一个上拉加载更多的功能,当请求下来的数据添加到数据源之后,我们需要进行刷新界面,这时如果使用reloadData会比较消耗性能,最简单的方式是insertSections: withRowAnimation:,但是当我们调用这些方法时可能会遇到一些奇怪的问题。
(本来录制的视频展示的bug,奈何无法上传,只能用文字描述一下了,还请大家见谅)
reloadData遇到的问题:界面会跳动一下,这就让我们很不爽,严重影响了用户体验。
insertSections遇到的问题: 界面也会跳动,假设我们设置了sectionFooterView或者设置了sectionHeaderView导致在cell上显示了多余的sectionFooterView/sectionHeaderView。
究其原因是由于我们设置了tableView.estimatedRowHeight的原因导致,当我们刷新的时候会预先使用预估的高度,但是我们的实际高度可能不是这个,最终导致的这个问题。
如果我们没有用代码设置tableView.estimatedRowHeight,那就是xib的问题
只需将automatic取消选中即可。