Voici ce que j'essaye de faire. Si vous avez déjà joué à Halo ou CoD, vous savez que vous pouvez changer le nom d'un chargement d'arme.
Ce que je fais, c'est que vous puissiez changer le nom de votre chargement à l'aide d'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'
UIControlState
partie et simplement écrire commebutton.setTitle("my text here", forState: .Normal)
.button
est unIBOutlet
(contrairement auIBAction
qui contient cette ligne de code) si vous utilisez Storyboard.Dans Xcode 8 - Swift 3 :
button.setTitle( "entertext" , for: .normal )
la source
.normal
au lieu de.Normal
..Normal
va donner une erreur maintenant. Undercase est maintenant correct..normal
C'est maintenant ça pour Swift 3,
(La déclaration constante de la variable n'est pas nécessaire, assurez-vous simplement d'utiliser l'expéditeur du bouton comme ceci):
N'oubliez pas qu'il est utilisé dans l'IBAction de votre bouton.
la source
Vous pouvez utiliser l'argument de l'expéditeur
la source
swift 4 fonctionne ainsi que 3
où libero est un uibutton
la source
REMARQUE:
ligne
fonctionne uniquement lorsque le type de titre est Plain .
la source
Notez que si vous utilisez NSButton, il n'y a pas de
setTitle
func, mais plutôt une propriété.la source
Dans Swift 4, j'ai essayé tout cela auparavant, mais ne fonctionne que:
la source