搜索

首页  >  问答  >  正文

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

问题如题目所示。

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

曾经蜡笔没有小新曾经蜡笔没有小新2789 天前1155

全部回复(3)我来回复

  • 怪我咯

    怪我咯2017-06-15 09:25:52

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

    回复
    0
  • 某草草

    某草草2017-06-15 09:25:52

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

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-15 09:25:52

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

    回复
    0
  • 取消回复