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)

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top