スクロールビューを使用して写真を表示しています。写真にスクロールすると、メモリを節約するために写真が読み込まれるメカニズムを実現する方法を知りたいです。誰かが私にいくつかの提案や関連資料を教えてもらえますか?ありがとう!
2 に答える
これは自分で行うことができます。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
ページングが乱雑にならないように、スクロールビュー フレームを定義することを忘れないでください。
その後、スクロールビューが特定のオフセットに達した場合に画像をロードします
コードは次のようになります。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
if (scrollView.contentOffset.y > 500) //for example if you choose to put your image in y:500
{
//load your images here you could load it in the main thread or use dispatch queue if you load it from web
}
}
これにより、scrollView を 500 ポイント下にスクロールすると、必要な画像が読み込まれます。
これは基本的なロジックにすぎません。ここから多くのことができます。オープンソースの git に頼りすぎず、自分のやり方で物事を動かしてみてください。それでも方法がわからない場合は、git を試してみてください。しかし、コードが何をするかを単純に使用するだけでなく、コードがどのように機能するかを学ぶことをお勧めします:3
edit : 画像ランクからスクロールしてメモリを節約した後、スーパービューから画像を削除するメソッドを設定し、画像が 2 回以上読み込まれないようにブール値フラグを設定することができます。
SDWebImageを使用でき 、キャッシュなどについて心配する必要はありません。
Web画像このライブラリは、Webからのリモート画像をサポートするUIImageVIewのカテゴリを提供します。
それは提供します:
CocoaTouchフレームワークにWebイメージとキャッシュ管理を追加するUIImageViewカテゴリ非同期イメージダウンローダー自動キャッシュ有効期限処理を備えた非同期メモリ+ディスクイメージキャッシング同じURLが複数回ダウンロードされないことの保証偽のURLがダウンロードされないことの保証何度も何度も試してみてくださいパフォーマンス!