1

雑誌アプリを持っているので知りたいです UIView と UIImages をプリロードする方法はありますか?

私のビュー構造:

MagazineView
  -> pageView
    -> imageContainerView
       -> image 
    -> imageContainerView
       -> image
    -> textView
  -> pageView
etc...

だから私の質問は - ビューが表示される前に画像をプリロードする方法は? 3 ページまたは 5 ページのキャッシュを作成し、ビューをロードするためのスレッドを作成したいと考えています。何か案は?

4

2 に答える 2

0

After you load images as J_D described, just put them into pageView and set them Hidden to YES. Every time you want to switch page, just call some method, that will pre-load new images and show those, which are already downloaded (set Hidden to NO) ;-). Hope this will help you to solve your problem...

于 2012-06-18T06:58:05.207 に答える
0

「画像をプリロードする」とは、実際に使用する前に画像をダウンロードすることを意味するため、画像を表示するときに遅延が発生しないと思います。

できることは、最初に を使用してイメージをダウンロードし[NSData dataWithContentsOfURL:]、次に NSData インスタンスで を使用してデータをファイルにダンプするかwriteToFile:atomically:、将来の再利用のために NSData のヒープにデータを保持することです。

その後、必要に応じて、[UIImage imageWithContentsOfFile]またはを使用して UIImage を作成できます[UIImage imageWithData:]

キャッシュをファイルに保存する場合は、それらのファイルをドキュメント フォルダーではなくキャッシュ フォルダーに保存するか、iCloud への同期時にスキップする属性でマークを付けます。そうしないと、アプリが Apple によって拒否されます。

また、これらのイメージのダウンロードには時間がかかる、タイムアウトする、または失敗する可能性があることにも注意してください。メインスレッドをブロックしない方法でバックグラウンドスレッドでこれらすべてを実行し、アプリケーションがフリーズしていないことを視覚的に示し、ダウンロードが失敗した場合やキャッシュがフラッシュされた場合に備えてフォールバックする必要があります (画像をファイルに)

于 2012-06-15T12:49:12.167 に答える