ダウンロードが進行するまでイメージビューの背景色を表示したい場合、ダウンロードが失敗するかイメージが使用できない場合はプレースホルダイメージを表示します。どうすればこれを達成できますか?イメージがSDWebImageをロードできない場合にのみプレースホルダイメージを設定
主な目的は、ロード中ではなくイメージを後で設定することです。
おかげ
SDWebImage Documentationからダウンロードが進行するまでイメージビューの背景色を表示したい場合、ダウンロードが失敗するかイメージが使用できない場合はプレースホルダイメージを表示します。どうすればこれを達成できますか?イメージがSDWebImageをロードできない場合にのみプレースホルダイメージを設定
主な目的は、ロード中ではなくイメージを後で設定することです。
おかげ
SDWebImage Documentationからソリューション:Objective Cのための
cell.imageView?.sd_setImage(with: url) { (image, error, cache, urls) in
if (error != nil) {
cell.imageView.image = UIImage(named: "ico_placeholder")
} else {
cell.imageView.image = image
}
}
ソリューション:
[cell.imageView sd_setImageWithURL:url
placeholderImage:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (error) {
self.imageView.image = [UIImage imageNamed:@"ico_placeholder"];
} else {
self.imageView.image = image;
}
}];
は、あなたたちは、これが役に立つことを願っ。
あなたは下向き投票をするために直面している問題を教えてください。私は助けることができるかもしれません。ありがとう –
:画像検索が成功かどうかを完了するたびに
使用ブロック
ブロックでは、あなたは画像のダウンロードの進行状況と について通知することができます。
// Here we use the new provided sd_setImageWithURL: method to load the web image
スウィフトのため
:あなたはプレースホルダー属性にnil
を渡すと完了を処理することによって自分自身をブロックすることを行うことができますObjective-Cの
[cell.imageView sd_setImageWithURL:[NSURL URLWithString:@"http://www.domain.com/path/to/image.jpg"]
placeholderImage:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (error) {
self.imageView.image = [UIImage imageNamed:@"placeHolderImage"];
}
}];
これをテストするための迅速な3バージョンを入手できますか? –
私も自分でやった。よくできました。あなたは私の質問が好きで、適切な投票をしてください。 –
ため
cell.imageView.sd_setImageWithURL(url, placeholderImage:nil, completed: { (image, error, cacheType, url) -> Void in
if (error) {
// set the placeholder image here
} else {
// success ... use the image
}
})
。このよう
は:
[self.imageView sd_setImageWithURL:self.imageURL
placeholderImage:nil
options:nil
progress:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if(!error) {
self.imageView.image = image;
} else {
self.imageView.image = [UIImage imageNamed:@"placeHolder"];
}
}];
私はそれを試していません。それがあなたのために働くかどうか試してみてください。スウィフト3用
希望の背景色がすでに –
に設定されていると仮定すると、スウィフト3バージョンがより役立ちます。 :) –
申し訳ありませんが、私はそれを助けることはできません、私はスウィフトでコード化していません –
必須ではありません。私は全体を通して使用しています imageView.sd_setImage(with:url、placeholderImage:UIImage( "ico_placeholder")) しかし、それはロードが進行中であってもプレースホルダ画像を設定するということです。ロードが失敗した場合にのみプレースホルダを表示したい。 –