iphone - 使用带有动态呈现项目的 UIScrollView 消除滚动延迟

标签 iphone objective-c ios uiscrollview uikit

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

附言我不能使用 UITableView,所以请不要建议使用它来代替 ScrollView 。

最佳答案

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

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

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

关于iphone - 使用带有动态呈现项目的 UIScrollView 消除滚动延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383985/

相关文章:

ios - 是否可以在 UIAlertController 内的一行中插入两个文本字段

iphone - 如何在 iPhone 模拟器上使用键盘打字?

iphone - iTunes 评论 URL 和 iOS 7(要求用户评价我们的应用程序)AppStore 显示空白页面

iphone - 捕获来自 Singleton 的更改

iphone - 如何通过 facebook API 在 friend 的墙上同时发布文本、图像和链接

ios - 仅在应用程序运行时接收报亭通知

objective-c - Objective-c 中的指针

ios - iPhone 应用程序 : Launch My App on My Website and Tips

ios - 简单的 UITableView 显示奇怪的数据顺序

ios - 在 iPhone 模拟器中关闭声音