Pregunta

Yo soy muy novato.

Tengo una costumbre UITableViewCell con 3 elementos:

a UILabel un UITextField y una UIButton

Mi pregunta es, ¿cómo puedo saber a partir del cual celular se hace clic en el botón o textField fue editado?

¿Hay una manera de seguir ellos?

Gracias por todas las respuestas.

¿Fue útil?

Solución

Lo que suelo hacer es después de la configuración de la celda personalizado, ahorro el NSIndexPath de la célula en el título del botón para el UIControlStateApplication estado.

En su tableView: cellForRowAtIndexPath: método, cuando la configuración de la celda:

[theButton setTitle:(NSString *)indexPath forState:UIControlStateApplication];

A continuación, en el botón de acción:


- (IBAction) buttonWasClicked:(UIButton *) senderButton {
    NSIndexPath *indexPath;

    indexPath = (NSIndexPath *)[senderButton titleForState:UIControlStateApplication];

    NSLog(@"Sender button was clicked in cell at NSIndexPath section: %d row: %d ", [indexPath section], [indexPath row]);
}

No soy muy feliz con esta forma. Si alguien tiene una forma más limpia de hacerlo, me gustaría oír hablar de ello.

Otros consejos

Si sólo tiene una sección que puede almacenar el indexPath.row en el button.tag y recuperarlo en la acción que se desencadena por ese botón.

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