Esto es lo que intento hacer. Si alguna vez jugaste Halo o CoD, sabrías que puedes cambiar el nombre de una carga de armas.
Lo que estoy haciendo es hacerlo para que pueda cambiar su nombre de carga utilizando un campo de texto. Aquí está el problema, el nombre de carga en el menú de carga es un botón (para seleccionar y ver información sobre esa carga) y podría escribir esto:
@IBAction func renameClassButton(sender: AnyObject) {
classTopButton.text = "\(classTopTextField)"
}
Excepto que [classTopButton] es un botón que no permite el sufijo '.text'
UIControlState
parte y simplemente escribir comobutton.setTitle("my text here", forState: .Normal)
.button
es unIBOutlet
(en contraste con elIBAction
que contiene esta línea de código) si está aprovechando Storyboard.En Xcode 8 - Swift 3 :
button.setTitle( "entertext" , for: .normal )
fuente
.normal
lugar de.Normal
..Normal
dará un error ahora. Undercase ahora es correcto..normal
Ahora es esto para Swift 3,
(La declaración constante de la variable no es necesaria, solo asegúrese de usar el remitente desde el botón de esta manera):
Recuerde que esto se usa dentro de la IBAction de su botón.
fuente
Puedes usar el argumento del remitente
fuente
Swift 4 funciona tan bien como 3
donde libero es un uibutton
fuente
NOTA:
línea
funciona solo cuando el tipo de título es simple .
fuente
Tenga en cuenta que si está usando NSButton no hay
setTitle
func, en cambio, es una propiedad.fuente
En Swift 4 probé todo esto anteriormente, pero solo se ejecuta:
fuente