1

カスタム uitableviewcell を持つ uitableview があります。セルは画像といくつかのラベルで構成されています 画像はこの方法を使用してリモートでダウンロードされます

 [SDWebImageDownloader downloaderWithURL:[NSURL URLWithString:url] delegate:self];

次の代わりに上記のメソッドを使用します: [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"] placeholderImage:[UIImage imageNamed:@"placeholder. png"]];

(参照https://github.com/rs/SDWebImage ) 画像をダウンロードした後に後処理を行う必要があるためです。SDWebImageDownloader にはイメージの読み込みが終了したときにコールバック メソッドがあるため、それを使用しています。

私が行った場合

 [cell.imageView setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
               placeholderImage:[UIImage imageNamed:@"placeholder.png"]];

【後処理画像】

完全にダウンロードする前に画像を後処理している可能性がありますが、これは問題ではなく、コンテキストを知らせるだけです

いくつかの調査を行った後、saome はロード要求をキャンセルする必要があると言いました...しかし、それが役立つかどうかはわかりません。また、実際にロードする必要があるものとキャンセルする必要があるものを区別する方法もわかりません

私の問題は、SDWebImageDownloaderを使用しているときに、uitableviewをスクロールすると、画像がちらつき、画像がゆっくりとロードされ、前の画像から別の画像に変化するのを見ることができますが、最後に正しい画像が読み込まれますが、ちらつきは望ましくない

問題の原因はSDWebImageDownloaderへの呼び出しであり、遅延やちらつきを引き起こす画像の後処理ではなく、SDWebImageDownloaderコールバックで単に画像を割り当てるだけでもちらつきが発生するためです。

画像のサイズを変更する必要があるため、SDWebImageDownloaderを使用するしかありません...ちらつきを回避する方法を教えてください。ありがとう

4

1 に答える 1

0

ライブラリを更新してから、 from ではなく fromが呼び出されるAFNetworkingことがあることに気付きました。setImageWithURL:AFNetworkingSDWebImage

downloadWithURL:options:progress:completed:fromを使って取り組みましたSDWebImageManager

Foursquare API からのデータを使用して入力したUITableView(カスタム セルを使用した) がありました。このsetImageWithURL:方法ではちらつきが発生しました。シミュレーター(LAN)、iPhone5(WiFi)ではちらつきのように見えました。しかし、デバイスで 2G に切り替えるとimageView、正しい画像が設定される前に、別のセルからの画像が に読み込まれていることに気付きました。

最初にプレースホルダー画像を設定し、次にメソッドの完了ブロックに画像を設定することで、からsetImageWithURL:に切り替えました。より滑らかになり、すべてのちらつきが解消されました。downloadWithURL:options:progress:completed:downloadWithURL:options:progress:completed:

于 2014-01-01T20:32:05.917 に答える