Question simple ici. J'ai un UIButton, currencySelector et je souhaite modifier le texte par programme. Voici ce que j'ai:
currencySelector.text = "foobar"
Xcode me donne l'erreur "Expected Declaration". Qu'est-ce que je fais mal et comment puis-je modifier le texte du bouton?
UIControlState
. par exempleforState: .Normal
.normal
note désormais les minusculesforState
àfor
button.setTitle("Button Title",for: .normal)
fonctionne aussi !, merciJuste une clarification pour ceux qui découvrent la programmation Swift et iOS . Sous la ligne de code:
ne s'applique qu'à
IBOutlets
, nonIBActions
.Donc, si votre application utilise un bouton comme fonction pour exécuter du code, disons jouer de la musique, et que vous souhaitez changer le titre de
Play
enPause
fonction d'une variable à bascule, vous devez également créer unIBOutlet
pour ce bouton.Si vous essayez d'utiliser
button.setTitle
contre un,IBAction
vous obtiendrez une erreur. C'est évident une fois que vous le savez, mais pour les noobs (nous étions tous) c'est un conseil utile.la source
sender
de l'action sera le bouton. Vous pouvez appliquer tout ce que vous souhaitez ausender
. Vous n'avez pas besoin d'un point de vente pour ce faire.Swift 5:
la source
Swift 3:
Définir le titre du bouton:
la source
Swift 5.0
la source
Changer de titre lors de l'attribution est un peu différent:
Je viens de rencontrer un problème: si vous avez un UIButton avec un titre attribué, vous devez utiliser:
comme, selon Apple SetTitle Doc :
J'avais un titre attribué et j'ai essayé de lui attribuer un titre, sans effet ...
la source
Swift 3
Lorsque vous effectuez @IBAction:
Cela définit l'expéditeur comme UIButton (au lieu de Any) afin qu'il cible le btnAction comme UIButton
la source
rapide 4.2 et supérieur
en utilisant l'IBOutlet du bouton
en utilisant l'IBAction du bouton
la source
Swift 3
la source
Pour définir un titre pour un bouton dans Xcode à l'aide de swift-04: créez d'abord une méthode appelée setTitle avec le titre du paramètre et l'état UIController comme ci-dessous;
et rappelez cette méthode dans votre méthode d'action de bouton comme;
la source