Tengo una UITableView con UITableViewCells de color alternante. Y la tabla se puede editar: las filas se pueden reordenar y eliminar. ¿Cómo actualizo las celdas alternando el color de fondo, cuando las filas se reordenan o eliminan?Actualizando UITableViewCells de color alternativo cuando las filas se reordenan o eliminan
estoy usando esto para extraer las células de colores alternantes:
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
if ([indexPath row] % 2) {
// even row
cell.backgroundColor = evenColor;
} else {
// odd row
cell.backgroundColor = oddColor;
}
}
Pero este método no está siendo llamada cuando una fila se reordena o se elimina. Y no puedo llamar [tableView reloadData]
desde el siguiente método, porque se bloquea la aplicación en un bucle infinito:
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
// Move the object in the array
id object = [[self.list objectAtIndex:[fromIndexPath row]] retain];
[self.list removeObjectAtIndex:[fromIndexPath row]];
[self.list insertObject:object atIndex:[toIndexPath row]];
[object release];
// Update the table ???
[tableView reloadData]; // Crashes the app in an infinite loop!!
}
¿Alguien tiene un puntero o una mejor solución prácticas para hacer frente a la cuestión de la reordenación de las células de color alternas?
Gracias
Gracias! Eso hace el truco. –