开发笔记-reload引起的闪烁问题

732 阅读1分钟

问题

问题不赘述,同行应该都遇到过

无效解决方案

也是很多网上的文章会提到的

无效方案1.

self.tableView.estimatedRowHeight = 0;
self.tableView.estimatedSectionFooterHeight = 0;
self.tableView.estimatedSectionHeaderHeight = 0;

无效方案2.
在endUpdates之后reload

tableView.endUpdates();
tableView.reloadData();

有效方案

UIView.performWithoutAnimation {
    self.tableView.reloadData()
}

其他

应当优先使用insert/delete cell。除非某些数据比较特殊,很难进行insert/delete操作