回答:
Swift 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ドク:
ボタンのタイトルと属性付きタイトルの両方を設定した場合、ボタンはこのタイトルよりも属性付きタイトルの使用を優先します。
私は属性付きのタイトルを持っていて、それに影響を与えずにタイトルを設定しようとしました...
スウィフト3
@IBActionを作成すると、次のようになります。
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
これは、センダーを(Anyではなく)UIButtonとして設定するため、btnActionをUIButtonとしてターゲットにします。
swift-04を使用してXcodeでボタンのタイトルを設定するには、最初に以下のようなパラメータータイトルとUIController状態でsetTitleと呼ばれるメソッドを作成します。
func setTitle(_ title : String?, for state : UIControl.State) {
}
このメソッドをボタンアクションメソッドで呼び出します。
yourButtonName.setTitle("String", for: .state)
UIControlState
ます。例forState: .Normal