iOS/UIKit

[IOS] UIButton의 text를 가져와 사용하기

유훈 | Yuhun 2022. 2. 1. 23:54
반응형

ViewController Class에서 UIButton의 Text를 가져와 사용해 보도록 하겠습니다.

간단하게 될 줄 알았는데 값을 불러오지 못해 한참 헤맸네요..

 

일단 @IBOulet이나 @IBAction으로 버튼을 연결하는데 @IBAction에서 처리하는 예제를 해보겠습니다.

다음 예제를 보면 Button의 Textsms 5입니다.

그러면 sender로 Button이 무엇인지 받아오고 여기의 title에 접근하는데 .title(for: .normal)로 접근합니다.

for: 뒤에 다른 것들은 상황에 따라 다른 값인듯 한데 아무것도 안했을때 기본은 .normal임으로 해당 값을 사용합니다.

    @IBAction func fiveClick(_ sender: UIButton) {
    
    	// sender.title(for: .normal)로 값을 가져올 수 있다.
        guard let numberValue = sender.title(for: .normal) else { return }
        // numberValue는 "5"가 됩니다.

    }

 

그런데 여기서 값을 제대로 가져오지 못하는 문제가 발생합니다. sender를 print해봐도 정상적으로 버튼이 있는데 text 부분이 이상합니다.

그래서 알아본 결과 UIButton의 Style을 Plain에서 Default로 바꿔주게 된다면 값을 정상적으로 받아올 수 있습니다.

 

요약

1. .title(for : .normal)로 받아오자

2. style을 확인해 Default로 바꿔주자

반응형