これが私がやろうとしていることです。 HaloまたはCoDをプレイしたことがあれば、武器のロードアウトの名前を変更できることをご存知でしょう。
テキストフィールドを使用してロードアウト名を変更できるようにするためです。これが問題です。ロードアウトメニューのロードアウト名は(そのロードアウトに関する情報を選択して表示するための)ボタンです。
@IBAction func renameClassButton(sender: AnyObject) {
classTopButton.text = "\(classTopTextField)"
}
それ以外の場合[classTopButton]は '.text'接尾辞を許可しないボタンです
できるよ:
button.setTitle("my text here", forState: .normal)
Swift 3 and 4:
button.setTitle("my text here", for: .normal)
Xcode 8では - Swift:
button.setTitle( "entertext" , for: .normal )
これはSwift 3の場合はこれで、
let button = (sender as AnyObject)
button.setTitle("Your text", for: .normal)
(変数の定数宣言は必ずしも必要ではありません。このようにボタンから送信者を使用するようにしてください):
(sender as AnyObject).setTitle("Your text", for: .normal)
これはボタンのIBAction内で使用されていることを忘れないでください。
Swift 4と3の作業
libero.setTitle("---", for: .normal)
liberoは、Uibuttonです。
送信者引数を使用できます
@IBAction func TickToeButtonClick(sender: AnyObject) {
sender.setTitle("my text here", forState: .normal)
}
NSButtonを使用しているのであれば、setTitle
関数はなく、代わりにプロパティです。
@IBOutlet weak var classToButton: NSButton!
. . .
classToButton.title = "Some Text"
Swift 4では、これまですべて試してみましたが、実行されるのは次のとおりです。
@IBAction func myButton(sender: AnyObject) {
sender.setTitle("This is example text one", for:[])
sender.setTitle("This is example text two", for: .normal)
}