Danny의 iOS 컨닝페이퍼
article thumbnail
반응형

1. 속성 isSelected을 이용

속성 isSelected은 Bool 타입으로 값을 설정 안 한다면, false 값을 갖고 있습니다.

 

isSelected에서 toggle 메서드를 이용해 줄 겁니다.

 

만약, 버튼을 클릭 될 때마다 toggle을 실행하게 만들어주면,

isSelected의 값이 false <--> true로 계속 전환되겠죠?

 

여기서, 간단한 로직을 추가하여 버튼이 클릭될 때마다 다른 동작을 갖도록 만들 수 있습니다. 

<swift>
@objc func buttonHandelr(_ sender: UIButton) { // 말 그대로 Bool 값을 toggle 합니다. sender.isSelected.toggle() // 버튼이 클릭될 때마다, 버튼 이미지를 변환 if sender.isSelected { sender.setImage(firstImage, for: .normal) } else { sender.setImage(secondImage, for: .normal) } }

 

 

2. enum을 이용

이건 팁은 아니지만, 이런 방법으로도 가능하겠죠

<swift>
enum ButtonState { case initial case transformed } var buttonState: ButtonState = .initial @objc func buttonHandelr(_ sender: UIButton) { switch buttonState { case .initial: sender.setImage(initialImage, for: .normal) buttonState = .transformed case .transformed: sender.setImage(transformedImage, for: .normal) buttonState = .initial } }

 

 

 

반응형
profile

Danny의 iOS 컨닝페이퍼

@Danny's iOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!