ios - 如何刷新tableViewCell上添加的一个View(不是刷新整个cell)

【字号: 日期:2023-11-13浏览:68作者:雯心

问题描述

问题如题目所示。

场景:当前tableviewcell是由三个view拼接而成的,加在cell.contentView上。刷新的时候我只需要刷新其中一个cell的一个view里的内容。但是执行刷新cell方法,是三个view是一起刷新的,导致数据不变的view会闪一下。请问各位这种场景如何优化?

问题解答

回答1:

如果使用self.tableView reloadRowsAtIndexPaths: withRowAnimation:刷新会闪,考虑是否是 布局改变了,检测下layoutSubviews,或者重新创建了视图此视图的开销比较大,优化FPS及缓存cell高度

回答2:

就是调用的reloadRowsAtIndexPaths实现刷新的。刷新的时候调用layoutSubviews,布局没有改变的。我是在初始的时候设置视图布局,刷新的是传入model改变控件的值。做了异步渲染优化,每个cell高度是固定的。

回答3:

你得通过数据源来控制呀,不要单独从view上去考虑,data关系到cell的重用问题

相关文章: