Kingfisher无法为UIButton设置图像

3

代码如下:

let url = URL(string: (user?.avatar)!)!
    print(url.absoluteString)
    let resource = ImageResource(downloadURL: url, cacheKey: "my_avatar")
    testUIButton.kf.setImage(with: resource, for:.normal)

结果是测试UIButton显示TintColor,不会显示任何图像。

URL 是有效的字符串。 - Hayden
最后的结果是我们必须为ImageButton设置一个占位图像。它似乎与Android环境中的相同。 - Hayden
2
尝试使用以下代码:imageButton.kf.setBackgroundImage(with: url, for: .normal) - Sarath
3个回答

4
尝试将UIButton类型设置为Custom,这对我有效。
let btnCustom = UIButton(type: .custom)
        
 if let imgURL = URL(string: imgURLString) {
       btnCustom.kf.setImage(with: imgURL, for: .normal)
 } else {
     btnCustom.setImage(UIImage(named: "img_user"), for: .normal)
 }
    
 btnCustom.cornerRadius = 15
 btnCustom.clipsToBounds = true
 btnCustom.addTarget(self, action: #selector(self.customAction)), for: .touchUpInside)
 view.addSubview(btnCustom) 

        

2
最终结果是我们必须为 ImageButton 设置一个占位图片。它似乎与 Android 开发环境中的设置相同。

0

尝试使用以下修饰符:

let modifier = AnyImageModifier { return $0.withRenderingMode(.alwaysOriginal) }
button.kf.setImage(with: url, for: .normal, placeholder: nil, options: [.imageModifier(modifier)], progressBlock: nil, completionHandler: nil)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接