Risposte:
In Swift 3, 4, 5:
button.setTitle("Button Title", for: .normal)
Altrimenti:
button.setTitle("Button Title", forState: UIControlState.Normal)
Anche un @IBOutlet
deve dichiarare per il button
.
.normal
nota il minuscolo
forState
infor
button.setTitle("Button Title",for: .normal)
funziona anche !, grazie
Solo un chiarimento per i nuovi programmatori di Swift e iOS . Sotto la riga di codice:
button.setTitle("myTitle", forState: UIControlState.Normal)
si applica solo a IBOutlets
, non IBActions
.
Quindi, se la tua app utilizza un pulsante come funzione per eseguire del codice, ad esempio la riproduzione di musica e desideri cambiare il titolo da Play
a Pause
basato su una variabile di attivazione / disattivazione, devi anche creare un IBOutlet
pulsante per quel pulsante.
Se si tenta di utilizzare button.setTitle
contro un IBAction
, verrà visualizzato un errore. È ovvio una volta che lo sai, ma per i rumori (lo eravamo tutti) questo è un consiglio utile.
sender
azione sarà il pulsante. Puoi applicare tutto ciò che desideri sender
. Non hai bisogno di uno sbocco per farlo.
let controlStates: Array<UIControl.State> = [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved]
for controlState in controlStates {
button.setTitle(NSLocalizedString("Title", comment: ""), for: controlState)
}
Swift 3:
Imposta titolo pulsante:
//for normal state:
my_btn.setTitle("Button Title", for: .normal)
// For highlighted state:
my_btn.setTitle("Button Title2", for: .highlighted)
Swift 5.0
// Standard State
myButton.setTitle("Title", for: .normal)
Cambiare titolo quando attribuito è un po 'diverso:
Ho appena riscontrato un problema: se hai un UIButton con un titolo attribuito, devi usare:
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
come da Apple SetTitle Doc :
Se si imposta sia un titolo che un titolo attribuito per il pulsante, il pulsante preferisce l'uso del titolo attribuito rispetto a questo.
Avevo un titolo attribuito e ho provato a impostarlo su di esso, senza alcun effetto ...
Swift 3
Quando esegui @IBAction:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
Questo imposta il mittente come UIButton (invece di Any) in modo da scegliere btnAction come UIButton
Per impostare un titolo per un pulsante in Xcode usando swift - 04: prima crea un metodo chiamato setTitle con titolo parametro e stato UIController come sotto;
func setTitle(_ title : String?, for state : UIControl.State) {
}
e richiama questo metodo nel tuo metodo di azione pulsante come;
yourButtonName.setTitle("String", for: .state)
UIControlState
. es.forState: .Normal