SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton

Posted

技术标签:

【中文标题】SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton【英文标题】:SDWebImage Set Image To UIButton in CellView Using Swift 【发布时间】:2019-06-16 04:47:44 【问题描述】:

您好,我正在使用 SDWebImage 将图像设置为 xcode 10.2.1 中的按钮。

我正在尝试以下方法

import SDWebImage

cell.bProfileImage.sd_setImage(with:URL(string:
individualChatsListArray[indexPath.row].profile_image), forState:.normal)

但我收到以下错误

Value of optional type 'UIButton?' must be unwrapped to refer to member
 'sd_setImage' of wrapped base type 'UIButton'

在 nib 文件中,项目被链接并如下声明

@IBOutlet weak var bProfileImage: UIButton!


@IBAction func bProfileImage(_ sender: Any) 

    print("touch kia")


我试过了

cell.bProfileImage?.sd_setImage(with:URL(string:
individualChatsListArray[indexPath.row].profile_image), forState:.normal)

但随后出现以下错误

Ambiguous reference to member 'bProfileImage'

如您所见,我是 xcode/swift 的新手

以下没有给出任何错误,但也没有加载图像

cell.bProfileImage.sd_setBackgroundImage(with: URL(string:
individualChatsListArray[indexPath.row].profile_image), for:
UIControl.State.normal)  (image, error, cache, url) in 

【问题讨论】:

【参考方案1】:

以下工作完美。

cell.bProfileImage.sd_setBackgroundImage(with: URL(string:
individualChatsListArray[indexPath.row].profile_image), for:
UIControl.State.normal, placeholderImage: UIImage(named:
"default_profile"), options: SDWebImageOptions(rawValue: 0))  (image,
error, cache, url) in


【讨论】:

以上是关于SDWebImage 使用 Swift 在 CellView 中将图像设置为 UIButton的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中使用 UIActivityIndi​​cator-for-SDWebImage

在 Swift 中使用 UIActivityIndi​​cator-for-SDWebImage

使用 SDWebImage 为 UICollectionView 可重用单元从路径加载图像 - Swift

Swift - 无法识别的选择器发送到 SDWebImage 方法上的实例

SDWebImage 库在 swift 3 Xcode 8.0 中出现错误

iOS利用SDWebImage图片下载缓存