답변:
스위프트 3, 4, 5에서 :
button.setTitle("Button Title", for: .normal)
그렇지 않으면:
button.setTitle("Button Title", forState: UIControlState.Normal)
또한에 대해 @IBOutlet
선언해야합니다 button
.
.normal
소문자에 주목합니다
forState
에for
button.setTitle("Button Title",for: .normal)
작동합니다!, 감사합니다
Swift 및 iOS 프로그래밍에 익숙하지 않은 사용자를위한 설명입니다 . 아래 코드 줄 :
button.setTitle("myTitle", forState: UIControlState.Normal)
에만 적용 IBOutlets
하지 IBActions
.
따라서 앱에서 버튼을 함수로 사용하여 코드를 실행하고 (예 : 음악 재생) 토글 변수 Play
를 Pause
기반으로 제목을 변경하려는 IBOutlet
경우 해당 버튼에 대한 버튼 도 만들어야 합니다.
에 button.setTitle
대해 사용하려고 IBAction
하면 오류가 발생합니다. 일단 당신이 그것을 알면 분명하지만, 멍청한 놈들 (우리 모두는 그렇습니다)에게 이것은 유용한 팁입니다.
sender
액션의 버튼 될 것입니다. 에 원하는 것을 적용 할 수 있습니다 sender
. 이를 위해 콘센트가 필요하지 않습니다.
let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
for controlState in controlStates {
button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
}
기여했을 때 제목 변경이 약간 다릅니다.
방금 문제가 발생했습니다. 속성 제목이있는 UIButton이 있으면 다음을 사용해야합니다.
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
같은 당 애플 setTitle이라는 닥 :
버튼의 제목과 속성 제목을 모두 설정하면 버튼은이 제목보다 속성 제목을 사용하는 것을 선호합니다.
귀중한 제목이 있었고 아무런 효과없이 제목을 설정하려고했습니다 ...
UIControlState
. 예forState: .Normal