UITableView不能平滑滚动,因为它会再次加载单元格

时间:2013-01-04 01:10:37

标签: iphone ios uitableview

  

可能重复:
  Lazy load images in UITableViewCell

我的UITableView单元格出现了问题,我的单元格每次从屏幕出来都会重新加载。我的应用程序从网址加载图像并将它们放在单元格左侧的ImageView中,因此它使UITableView滚动速度非常慢。

我想知道是否有办法:

1.立即加载所有细胞。 2.禁用细胞的重新加载。

通过这种方式,TableView可以平滑滚动。 每个单元格由三个子视图组成。两个用于标题和描述标签,最后一个用于图像。内容来自NSXMLParse,因此加载此单元格需要时间。

提前致谢。

2 个答案:

答案 0 :(得分:3)

我能想到改善滚动的三种方法是:

  1. 不在主线程中加载图像,只需粘贴在占位符中,并在数据最终可用时将其填入(注释中提到的延迟加载)。

  2. 自行缓存图像,以便稍后查看单元格时,您已经有要显示的数据。

  3. 为显示行上方和下方的单元格预先将预期图像提取到缓存中。

  4. 当然,这些并不是相互排斥的,应该结合使用以获得最流畅的用户界面。

答案 1 :(得分:3)

而不是使用uiimageview使用sdwebimage。我认为它会对你有帮助。