【问题标题】:Only update visible table view cells?只更新可见的表格视图单元格?
【发布时间】:2012-07-11 02:38:30
【问题描述】:

我正在尝试加载包含从 Internet 下载的图像的单元格的表格视图。我只想对当前可见的单元格执行下载操作,而不是在用户快速向下滚动时下载每个图像。

我找到了 indexPathsForVisibleRows 方法,它应该可以很好地满足我的需求,但我需要一种方法来确定表格视图何时不再滚动。我的想法是在表格视图不滚动时使用 indexPathsForVisibleRows,以便加载当前屏幕上的所有图像而无需加载图像。

是否有任何我可以覆盖的方法或订阅通知,当表格视图不再滚动时会提醒我?

谢谢!

【问题讨论】:

  • 如果您使用可重复使用的单元格,那么当它们离开屏幕时它们会被丢弃,您甚至不必担心。这就是为什么苹果推荐使用它们

标签: iphone objective-c cocoa-touch uitableview


【解决方案1】:

看看这里列出的方法: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html

如果您的视图控制器是 UITableView 的委托,这些也将被触发,因为 UITableView 是 UIScrollView 的子类。

特别注意:scrollViewDidEndDecelerating。这就是我曾经做过的几乎你所要求的事情。

【讨论】: