LoginSignup
9
3

More than 3 years have passed since last update.

【Swift】UIButtonにimageをセットしたが表示されない件

Last updated at Posted at 2020-05-16

UIButtonにsetImage()したけど画像の色が違う

UIButtonを画像にしたい+.normal.selectedで画像を切り替えたいと思った時に躓きました。

● 実装(Rx使ってます)
private func setButton() {
    button.setImage(R.image.grayCat(), for: .normal)
    button.setImage(R.image.purpleCat(), for: .selected)
    button.rx.tap.bind(to: buttonTapBinder).disposed(by: disposeBag)
}

private var buttonTapBinder: Binder<()> {
    return Binder(self) { base, _  in
    base.button.isSelected = !base.button.isSelected
    }
}
● 使った画像

実行画面

ボタンタップしたレイアウトもちがーーーーーーーーーーーう!!!!

解決策

私は普段.xibファイルで部品の配置とAutlayoutの設定をしているのですが、その際のButtonTypeが原因でした。
スクリーンショット 2020-05-16 21.23.23.png
これをCustomにすれば解決です!

このButtonTypeget-onlyなのでコードからは変更できません。
ちなみにレイアウト系もコードで実装している場合は、初期値がCustomなので特に問題はないです。

9
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3