カスタム 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を使用するしかありません...ちらつきを回避する方法を教えてください。ありがとう