0

ドキュメント ビューアーを使用して iOS アプリを開発しています。各ドキュメントには、画像として再作成された多くのページがあります。

ビューアは、現在のページを表示するためにUIScrollViewと を使用します。UIImageView

アプリケーションの応答性を向上させるために、次のページと前のページをバックグラウンドでプリロードしています。これを行うために GCD を使用していますが、次の画像が読み込まれる前にユーザーがページを変更した場合 (fe: go next)、バックグラウンドの読み込みをキャンセルできません。現在、ページを再度読み込んでから、次の画像をプリロードしています。

GCDはこれを行う正しい方法ではないと考えています。私の目的を達成するためのベストプラクティスは何ですか?

4

1 に答える 1

0

これを行うためのより良い方法があります。クラス メソッド + (Class)layerClass; をサブクラス化することにより、CATiledLayer を UIImageView サブクラスのバッキング レイヤー クラスとして使用します。. CATiledLayer は、メイン スレッドから自動的に非同期で描画します。詳細については、CATiledLayer のドキュメントを参照してください。

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

于 2013-01-26T18:48:35.237 に答える