0

我正在开发一个带有文档查看器的 iOS 应用程序。每个文档都有许多页面重绘为图像。

查看器使用 anUIScrollView和 anUIImageView来显示当前页面。

为了提高应用程序的响应能力,我在后台预加载了下一页和上一页。我正在使用 GCD 来执行此操作,但是如果用户在加载下一张图片之前更改了页面(fe: go next),我无法取消后台加载。目前我正在再次加载页面,然后预加载下一张图片。

我认为 GCD 不是这样做的正确方法。实现我的目的的最佳实践是什么?

4

1 回答 1

0

有更好的方法来做到这一点。使用CATiledLayer作为UIImageView子类的backing layer类,通过类方法+(Class)layerClass的子类化;. CATiledLayer 自动从主线程异步绘制。有关详细信息,请参阅 CATiledLayer 文档:

https://developer.apple.com/library/mac/#documentation/GraphicsImaging/Reference/CATiledLayer_class/Introduction/Introduction.html

于 2013-01-26T18:48:35.237 回答