Kingfisher не может установить изображение для UIButton

Код является:

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

Результат testUIButton display TintColor, изображение не будет отображаться.

3 ответа

Попробуйте установить 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) 

        

Окончательный результат - мы должны установить изображение-заполнитель для ImageButton. Похоже, это то же самое, что и в среде разработчиков Android.

Попробуйте использовать модификатор, как показано ниже:

      let modifier = AnyImageModifier { return $0.withRenderingMode(.alwaysOriginal) }
button.kf.setImage(with: url, for: .normal, placeholder: nil, options: [.imageModifier(modifier)], progressBlock: nil, completionHandler: nil)
Другие вопросы по тегам