【Swift】UIButton에 image를 세트 했지만 표시되지 않는 건

3937 단어 iOSSwiftSwift5

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가 원인이었습니다.

이것을 Custom 로 하면 해결입니다!

ButtonTypeget-only이므로 코드에서 변경할 수 없습니다.
덧붙여서 레이아웃계도 코드로 구현하고 있는 경우는, 초기치가 Custom 이므로 특별히 문제는 없습니다.

좋은 웹페이지 즐겨찾기