UITableView Lazy Image Load,图像在表格STOPS滚动后出现

Sti*_*ker 7 iphone scroll lazy-loading uitableview nsurlconnection

我使用NSUrlConnection为我的UITableView实现了延迟图像加载.这一切都很好.当我打开桌子时,我会在等待一秒钟时自动获取图像(在3G上).但是,当我滚动时,表加载新单元格,启动NSURLConnections,但是当图像加载完成(在代码中)时,它们不会被放入视图,直到表实际停止滚动为止.

Youtube应用程序能够将图像加载到表格中滚动,我也想这样做,任何提示/指针?

Sti*_*ker 11

我刚刚找到了答案,感谢右侧的"相关"功能.在UITableView中延迟了UIImageView渲染

您必须在不同的运行循环中启动NSUrlConnection,以便在表滚动时接收数据.

谢谢你的回答!


Nut*_*tch 9

看一下Apple示例LazyTableImages.

如果您异步请求表的所有图像,它们将在到达时加载.

您会注意到某些应用程序等待scrollViewDidEndDragging并且loadImagesForOnscreenRows非常懒惰,并且仅请求用户当前正在检查的行的图像.

  • 实际上这个例子比我的更糟糕,因为它只会在表停止滚动时启动线程来加载图像(即使它进入视图时也是如此).我将看一下他们如何进行线程化..我当前的应用程序会在进入时加载行,如果您滚动浏览图像则会停止它们.唯一的问题是它们没有插入表中,直到表停止滚动,我不知道为什么.我认为即使我的图像加载是异步发生的,它也不是真正在一个单独的线程中,因此它等待表停止滚动. (2认同)