2012-04-30 12 views
1

UIWebViewに表示されるイメージ、ビデオ、および.gifイメージを持つアイテムのセットが、ユーザーがスクリーの下部までスクロールして最後に達したときに現在のUIScrollViewオフセットのウェブからアイテムをダウンロードするときには、ユーザーエクスペリエンスをスムーズかつ素敵にするアクティビティインジケータを表示できますが、すべてのデータをキャッシュしてキャッシュから取得すると、すべてのアイテムが同じにレンダリングされているときにかなり迷惑をかけることになります時間(荷役作業ごとに5項目)。私の質問は:どういうわけか、アイテムをレンダリングするときにUIScrollViewから遅れを取り除くことはできますか?そして、メインスレッド上のアイテムをレンダリングするときに、どのようにアクティビティインジケータを表示できますか?特に、ユーザーが下にスクロールするとラグが発生し、スクロールがフリーズし、すべてのアイテムがレンダリングされ、ユーザーがドラッグしたのと同じ力で下にスクロールし続けます。動的にレンダリングされたアイテムでUIScrollViewのスクロールラグを削除する

P.S.私はUITableViewを使用することはできませんので、スクロール表示の代わりに使用しないでください。

答えて

1

あなたはニンバスプロジェクトからNINetworkImageViewを使用して検討する必要があります。それは別のスレッドで取り込んだ画像を操作しているため、それはあなたのシナリオに適していますhttps://github.com/jverkoey/nimbus

理由があります。トリミングやリサイズのようなことを行い、メインスレッド上で最終結果を返します。

さらに詳しいサンプルについては、私の答えはこちらをご覧ください:https://stackoverflow.com/a/10361005/434841同様の質問です。

+0

私は別のスレッドで画像をダウンロードしています。質問はバックグラウンドスレッドでイメージをダウンロードする方法ではなく、UIScrollViewからのラグを削除する方法と、同時にアイテムをスクロールしてレンダリングする方法と、それがまったく可能であればです。とにかくありがとう – Eugene

+0

問題を解読するのはちょっと難しいですが、一般的な間違いの1つは大きな画像を使用してUIImageViewにそれを小さくすることです。私が見て回ることができるようにあなたのコードを投稿してください。そのシナリオでNimbusを試しましたか? –

+0

よろしくお願い致します。私は画像をダウンロードしています。小さい画像にサイズ変更して、サイズ変更したバージョンを使用していますので、ここに問題はありません。私の問題は、UIが凍結したこと、アクティビティインジケータを描画してユーザーに待つように依頼して問題を解決したことです...まだ回答を正しいとマークします。 – Eugene

関連する問題