problemas de elementos personalizados UITableViewCell
-
16-09-2019 - |
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.
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.