2

私は自分の使用SDWebImageに画像をダウンロードするために使用しますUITableView

[cell.imageView setImageWithURL:[NSURL URLWithString:tempPhotoURL] placeholderImage:[UIImage imageNamed:@"temp.jpg"]];

これは完全に機能します-問題ありません。UIImageViewしかし、TableView の特定の行をクリックすると、その行のサムネイル画像を、ナビゲートしている次の詳細画面にある にロードしたいと考えています。さて、どうすればいいですか?既にダウンロードされているため、キャッシュから画像を取得する必要がありますか? もしそうなら、これのための方法/プロセスは何ですか? そして、それが進むべき道ではない場合、それは何ですか? SDWebImageライブラリに含まれるすべてのファイルとメソッドからそれを理解することはできません...

4

4 に答える 4

1

ほぼ同じコードを使用して画像を設定するだけです。SDWebImage は、既にキャッシュされているかどうかを確認し、キャッシュされている場合は、URL から画像を取得する代わりにそれを使用します。

于 2012-10-07T11:10:21.203 に答える
1

これを試して、

   [self.imgView sd_setImageWithURL:[NSURL URLWithString:imageUrl placeholderImage:placeholderUrl options:0 progress:^(NSInteger receivedSize, NSInteger expectedSize) {

//Progress block

} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL){
             //Completion block
         }];
于 2015-12-12T17:28:10.723 に答える
0

TableView画像を設定するときにダウンロードした同じメソッドを呼び出すと、DetailView最初にキャッシュがチェックされます。画像をダウンロードするためのコードスニペットは次のとおりですSDWebImage

[yourImageView sd_setImageWithURL:[NSURL URLWithString:yourImageUrl]
                          placeholderImage:[UIImage imageNamed:@"placeholder.jpg"]];
于 2014-08-11T10:31:18.660 に答える
0

コーディング時に物事を達成する方法はたくさんあります。頭に浮かぶのは、UIImageView が詳細ビュー コントローラー (詳細ビュー コントローラーの API の一部) のアクセス可能なプロパティであることを確認することです。次に、詳細ビュー コントローラーをプッシュする前に、セルの画像ビューを詳細ビューの UIImageView プロパティに割り当てるだけです。

また

便利な初期化子を作成し、セルのイメージビューをそれに渡します...など。

于 2012-08-08T22:53:41.967 に答える