Respuestas:
En Swift 3, 4, 5:
button.setTitle("Button Title", for: .normal)
De otra manera:
button.setTitle("Button Title", forState: UIControlState.Normal)
También un @IBOutlet
tiene que declarar para el button
.
.normal
cuenta las minúsculas
forState
afor
button.setTitle("Button Title",for: .normal)
funciona !, gracias
Solo una aclaración para aquellos nuevos en la programación Swift e iOS . Debajo de la línea de código:
button.setTitle("myTitle", forState: UIControlState.Normal)
solo se aplica a IBOutlets
, no IBActions
.
Entonces, si su aplicación está usando un botón como una función para ejecutar algún código, digamos que está reproduciendo música, y desea cambiar el título Play
a Pause
basado en una variable de alternancia, también debe crear un IBOutlet
botón para ese botón.
Si intenta usar button.setTitle
contra un IBAction
, obtendrá un error. Es obvio una vez que lo sabes, pero para los novatos (todos lo éramos) este es un consejo útil.
sender
de la acción será el botón. Puede aplicar lo que desee al sender
. No necesita una salida para hacer esto.
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:
Establecer el título del botón:
//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)
Cambiar el título cuando se le atribuye es un poco diferente:
Acabo de encontrar un problema: si tiene un UIButton con un título atribuido, debe usar:
my_btn.setAttributedTitle(NSAttributedString(string: my_title), for: my_state)
como, por Apple SetTitle Doc :
Si establece un título y un título atribuido para el botón, el botón prefiere el uso del título atribuido sobre este.
Tenía un título atribuido y traté de ponerle título, sin ningún efecto ...
Swift 3
Cuando haces la @IBAction:
@IBAction func btnAction(_ sender: UIButton) {
sender.setTitle("string goes here", for: .normal)
}
Esto establece el remitente como UIButton (en lugar de Any) para que apunte a btnAction como UIButton
Para establecer un título para un botón en Xcode usando swift - 04: primero cree un método llamado setTitle con el título del parámetro y el estado UIController como se muestra a continuación;
func setTitle(_ title : String?, for state : UIControl.State) {
}
y recuerde este método en su método de acción de botón como;
yourButtonName.setTitle("String", for: .state)
UIControlState
. Por ejemploforState: .Normal