1

我有一组包含图像、视频和 .gif 图像的项目,这些项目显示在 UIWebView 中,当用户滚动到屏幕底部并到达当前 UIScrollView 偏移量的末尾时,这些项目正在动态呈现。从网络下载项目时,我可以显示一个活动指示器,使用户体验流畅和良好,但是当我缓存所有数据并从缓存中检索它时,当所有项目同时呈现时,我有一个非常烦人的延迟时间(每次装载操作 5 个项目)。我的问题是:在 UIScrollView 上渲染项目时,是否有可能以某种方式消除滞后?在主线程上渲染项目时如何显示活动指示器?具体来说,当用户滚动到底部,滚动冻结,所有项目都被渲染并且滚动继续以用户拖动它的相同力时滚动到底部时会发生延迟。

PS 我不能使用 UITableView,所以请不要建议使用它来代替滚动视图。

4

1 回答 1

1

您应该考虑使用 Nimbus 项目中的 NINetworkImageView:https ://github.com/jverkoey/nimbus

它在您的场景中运行良好的原因是因为它在不同的线程上操作获取的图像。它执行裁剪和调整大小等操作,并在主线程上为您提供最终结果。

有关更完整的示例,请在此处查看我的答案:https ://stackoverflow.com/a/10361005/434841以获取类似问题。

于 2012-04-30T18:21:58.283 回答