Cómo obtener el nombre del botón en una acción?
Pregunta
Tengo un botón llamado de inicio y quiero saber en el método que llama a lo que su nombre es y no estoy muy seguro de cómo hacerlo. Este es el método de las llamadas de los botones.
-(IBAction) startMotion: (id)sender {
UIButton * buttonName = (UIButton *) sender;
NSLog(@"Button Name: %@", buttonName.currentTitle);
}
El NSLog impresiones
Nombre del botón: (null)
Solución 3
Yo estaba usando la propiedad mal en la interfaz Builder.I era el uso de la propiedad nombre del botón en el Interface Builder lugar de la propiedad del título de la configuración del botón.
Otros consejos
Se puede configurar el título del botón a través
[b setTitle:@"Start" forState:UIControlStateNormal];
y para obtener el título (currentTitle es de sólo lectura y puede ser nulo):
[b currentTitle];
Por cierto, si lo que desea es diferenciar varios botones, sólo puede establecer la propiedad etiqueta (un valor entero) de los botones.
Además, verifique si usted tiene el botón especificado como un IBOutlet en su clase viewController, y ¿Está conectado correctamente como una salida en el Interface Builder?
Yo prefiero establecer una cierta etiqueta y comparar el valor de la variable en lugar de leer el título del botón ya que usted tiene la posibilidad de localizar su aplicación donde los títulos de botón, posiblemente, ser diferente.