52110


SDWebImageを用いてFirebaseから取得してきた画像をUIButtonのimageにセットしようとしているのですがうまくいきません。

[code]

     @IBOutlet weak var photoBtn: UIButton!
     @IBOutlet weak var removeBtn: UIButton!
     let storageRef = Storage.storage().reference()
    
     func configure(isHidden: Bool, id: String, uid: String) {
            let reference = self.storageRef.child("photos/\(uid)/\(id).png")
            photoBtn.imageView?.sd_setImage(with: reference, placeholderImage: UIImage(named: "noImg"))
        }
    
[/code]

同じ処理をUIImageに対して行うとうまくいきます。

どこか間違っている点や、他の方法がありましたらご教示いただきたいです。


CC BY-SA 4.0
2019-01-19T03:03:02.417
52097
2019-01-19T06:40:54.743
30424
question
swift4 firebase
SDWeb ImageでFirebaseから取得した画像をUIButtonにセットしたい


`UIButton`の`imageView`プロパティの`image`を直接変更しようとしても動作しません。`setImage(_:for:)`メソッドを使用する必要があります。

SDWebImageはUIButtonのエクステンションも提供されているので、

[code]

    photoBtn.sd_setImage(with: reference, forState: .normal, placeholderImage: UIImage(named: "noImg"))
    
[/code]

のように`UIButton`の`setImage(_:for:)`メソッドが使われるようにすると期待した通りに動くはずです。


CC BY-SA 4.0
2019-01-19T06:40:54.743
52110
2019-01-19T06:40:54.743
5519
52097
answer