【问题标题】:UITableView Lazy Image Load, images appear after table STOPS scrollingUITableView Lazy Image Load,表格停止滚动后出现图像
【发布时间】:2009-12-31 10:33:21
【问题描述】:

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

Youtube 应用程序能够在滚动时将图像加载到表格中,我也想这样做,有什么提示/指针吗?

【问题讨论】:

  • 我也想听听这个问题的答案。顺便说一句,您是否将每个图像加载到单独的线程上?如果我滚动到快速,我会崩溃,有什么想法吗?
  • 我不使用线程(至少,不明确),我使用异步工作的 NSURLConnection initWithRequest:delegate..

标签: iphone uitableview scroll lazy-loading nsurlconnection


【解决方案1】:

感谢右侧的“相关”功能,我刚刚找到了答案。Delayed UIImageView Rendering in UITableView

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

感谢您的回答!

【讨论】:

    【解决方案2】:

    看看苹果的例子LazyTableImages

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

    您会注意到一些应用程序等待scrollViewDidEndDraggingloadImagesForOnscreenRows 真正变得懒惰,并且只请求用户当前正在检查的行的图像。

    【讨论】:

    • 实际上这个例子比我的更糟糕,因为它只在表格停止滚动时启动线程来加载图像(即使它进入视图时也不行)。不过,我会看看它们是如何进行线程处理的。我当前的应用程序会在它们进入时加载行,并在滚动图像时停止它们。唯一的问题是在表格停止滚动之前它们不会插入表格中,我不知道为什么。我认为即使我的图像加载是异步发生的,它实际上并不是在单独的线程中,因此它会等待表格停止滚动。
    • 确实如此,但我发现样本做得非常好。我通过细微的调整让它工作得很好。
    猜你喜欢
    • 2011-01-13
    • 1970-01-01
    • 2013-04-26
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多