问题描述
问题如题目所示。
场景:当前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的重用问题