Voici ce que j'essaie de faire. Si vous avez déjà joué à Halo ou CoD, vous sauriez que vous pouvez changer le nom d'un chargement d'arme.
Je fais en sorte que vous puissiez changer votre nom de chargement en utilisant un champ de texte. Voici le problème, le nom de chargement dans le menu de chargement est un bouton (pour sélectionner et afficher des informations sur ce chargement) et je pourrais simplement écrire ceci:
@IBAction func renameClassButton(sender: AnyObject) {
classTopButton.text = "\(classTopTextField)"
}
Sauf que [classTopButton] est un bouton qui n'autorise pas le suffixe '.text'
Tu peux faire:
button.setTitle("my text here", forState: .normal)
Swift 3 et 4:
button.setTitle("my text here", for: .normal)
Dans Xcode 8 - Swift:
button.setTitle( "entertext" , for: .normal )
C'est maintenant ceci Pour Swift 3,
let button = (sender as AnyObject)
button.setTitle("Your text", for: .normal)
(La déclaration constante de la variable n'est pas nécessaire, assurez-vous simplement d'utiliser l'expéditeur depuis le bouton):
(sender as AnyObject).setTitle("Your text", for: .normal)
Rappelez-vous que cela est utilisé dans IBAction de votre bouton.
Swift 4 travail ainsi que 3
libero.setTitle("---", for: .normal)
où libero est un uibutton
Vous pouvez utiliser l'argument expéditeur
@IBAction func TickToeButtonClick(sender: AnyObject) {
sender.setTitle("my text here", forState: .normal)
}
Notez que si vous utilisez NSButton, il n'y a pas setTitle
func, c'est plutôt une propriété.
@IBOutlet weak var classToButton: NSButton!
. . .
classToButton.title = "Some Text"
Dans Swift 4, j'ai déjà essayé tout cela auparavant, mais je ne lance que:
@IBAction func myButton(sender: AnyObject) {
sender.setTitle("This is example text one", for:[])
sender.setTitle("This is example text two", for: .normal)
}