que actualmente tiene un botón definido en una celda y un método para realizar un seguimiento de su acción UITouchDown como se muestra:UITableView Cell - obtener IndexPath.row desde el botón?
- (void) clickedCallSign:(id)sender {
int index = [sender tag];
NSLog(@"event triggered %@",index);
}
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
//Callsign button
UIButton *button;
CGRect rect = CGRectMake(TEXT_OFFSET_X, BORDER_WIDTH, LABEL_WIDTH, LABEL_HEIGHT);
button = [[UIButton alloc] initWithFrame:rect];
cell.tag=[indexPath row];
button.tag=[indexPath row];
[button addTarget:self action:@selector(clickedCallSign:) forControlEvents:UIControlEventTouchDown];
[button setBackgroundColor:[UIColor redColor]];
[button setTitle:@"hello" forState:UIControlStateNormal];
[cell.contentView addSubview:button];
[button release];
}
Sin embargo, cuando hago clic en una celda en el simulador, el mensaje de la consola de depuración es: "activadas por eventos (null) "y mi aplicación se bloquea poco después.
¿Cómo puedo obtener correctamente el valor de indexPath.row en mi método clickedCallSign?
ver mejor solución para encontrar indexPath del botón pulsado: http://stackoverflow.com/a/16270198/308315 – iwasrobbed