如何使用 SDWebImage 在 imageURL 为空时设置默认图像 - Swift
How to set default image when imageURL is empty using SDWebImage - Swift
我在 cellForRowAt
函数中有以下代码:
let url = URL(string: myurl!)
cell.empPhoto.image? = (cell.empPhoto.image?.circle)!
cell.empPhoto.image? = (cell.empPhoto.image?.rounded)!
cell.empPhoto.sd_setImage(with: url)
我正在使用来自 SDWebImage 的 sd_setImage
从 url 下载图像并缓存它,但有时找不到 url 或内容为空,所以如何给如果 url 为空,单元格的默认图像,我应该在使用 sd_setImage
之前检查 url 的内容还是我可以从同一个库中完成?
我想要的是这样的:
if url.hasImage {
cell.empPhoto.sd_setImage(with: url)
}
else{ // use default image
cell.empPhoto.image=UIImage(named: "contact")
}
您可以使用此版本的sd_setImage
方法:
cell.empPhoto.sd_setImageWithURL(url, placeholderImage:UIImage(imageNamed:"placeholder.png"))
如果 url 不包含有效图像,placeholderImage 将是默认图像。
补充说明: 您可能想检查 Kingfisher, it is built inspired by SDWebImage,但它是使用 Swift 构建的。
最好有占位符图片,这样即使你的请求失败也会有图片。
您可以使用 SDWebImage 函数设置占位符 sd_setImageWithURL:placeholderImage
Swift
cell.empPhoto.sd_setImage(with: url, placeholderImage: placeholderImage);
Objective-C
[cell.empPhoto.image sd_setImageWithURL:url placeholderImage:placeholderImage];
也试试这个代码:
Swift 3 & SDWebImage 4.0.0
//SDWebImage 4.0.0
self.profileImageView.sd_setImage(with: yourImageUrl, placeholderImage: UIImage("Your placeholder image name")
我在 cellForRowAt
函数中有以下代码:
let url = URL(string: myurl!)
cell.empPhoto.image? = (cell.empPhoto.image?.circle)!
cell.empPhoto.image? = (cell.empPhoto.image?.rounded)!
cell.empPhoto.sd_setImage(with: url)
我正在使用来自 SDWebImage 的 sd_setImage
从 url 下载图像并缓存它,但有时找不到 url 或内容为空,所以如何给如果 url 为空,单元格的默认图像,我应该在使用 sd_setImage
之前检查 url 的内容还是我可以从同一个库中完成?
我想要的是这样的:
if url.hasImage {
cell.empPhoto.sd_setImage(with: url)
}
else{ // use default image
cell.empPhoto.image=UIImage(named: "contact")
}
您可以使用此版本的sd_setImage
方法:
cell.empPhoto.sd_setImageWithURL(url, placeholderImage:UIImage(imageNamed:"placeholder.png"))
如果 url 不包含有效图像,placeholderImage 将是默认图像。
补充说明: 您可能想检查 Kingfisher, it is built inspired by SDWebImage,但它是使用 Swift 构建的。
最好有占位符图片,这样即使你的请求失败也会有图片。
您可以使用 SDWebImage 函数设置占位符 sd_setImageWithURL:placeholderImage
Swift
cell.empPhoto.sd_setImage(with: url, placeholderImage: placeholderImage);
Objective-C
[cell.empPhoto.image sd_setImageWithURL:url placeholderImage:placeholderImage];
也试试这个代码:
Swift 3 & SDWebImage 4.0.0
//SDWebImage 4.0.0
self.profileImageView.sd_setImage(with: yourImageUrl, placeholderImage: UIImage("Your placeholder image name")