ios - settitle - swift button action
Cambiar texto de UIButton programáticamente rápido (7)
Swift 4:
for state: UIControlState in [.normal, .highlighted, .disabled, .selected, .focused, .application, .reserved] {
button.setTitle(NSLocalizedString("Title", comment: ""), for: state)
}
Pregunta simple aquí. Tengo un UIButton, currencySelector y quiero cambiar el texto mediante programación. Esto es lo que tengo:
currencySelector.text = "foobar"
Xcode me da el error "Declaración esperada". ¿Qué estoy haciendo mal y cómo puedo hacer que cambie el texto del botón?
En Swift 3:
button.setTitle("Button Title",for: .normal)
De otra manera:
button.setTitle("Button Title", forState: UIControlState.Normal)
Solo una aclaración para los nuevos en la programación de Swift y iOS . Debajo de la línea de código:
button.setTitle("myTitle", forState: UIControlState.Normal)
solo se aplica a IBOutlets
, no a IBActions
.
Por lo tanto, si su aplicación utiliza un botón como función para ejecutar algún código, digamos reproducir música, y desea cambiar el título de Play
a Pause
función de una variable de alternancia, también debe crear una IBOutlet
para ese botón.
Si intentas usar button.setTitle
contra un IBAction
, obtendrás un error. Es obvio una vez que lo sabes, pero para los noobs (todos lo éramos) este es un consejo útil.
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) por lo que se dirige a btnAction como un UIButton
Swift 3
let button: UIButton = UIButton()
button.frame = CGRect.init(x: view.frame.width/2, y: view.frame.height/2, width: 100, height: 100)
button.setTitle(“Title Button”, for: .normal)
Swift 3.0
// Standard State
myButton.setTitle("Title", for: .normal)
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)