uitableviewcontroller tutorial example iphone cocoa-touch uitableview animation core-animation

iphone - tutorial - uitableviewcontroller



Moviendo programáticamente filas con animación en UITableView (3)

Quiero mover una fila a la parte inferior de mi UITableView con un genial efecto de animación como en esta aplicación de la Lista de la compra de comestibles .

Al igual que podemos mover filas con control de reordenación como:

¿Cómo puedo crear tal animación?


En IOS 5 esto se puede hacer con el siguiente selector UITableView :

- (void)moveRowAtIndexPath:(NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath

Por ejemplo:

[self.tableView moveRowAtIndexPath:indexPath toIndexPath:[NSIndexPath indexPathForRow:[items count] - 1 inSection:1]];


Esto es algo similar a lo que he hecho para permitir arrastrar y soltar de una vista de desplazamiento a otra.

Querrá crear una celda duplicada / ficticia (para efectos visuales), luego eliminar la celda original, luego animar el duplicado, luego insertarla en la parte inferior y finalmente eliminar la celda duplicada / ficticia.


Importante: Esta respuesta asume iPhone OS 3.x. Vea la respuesta anterior para iOS 5.x

No sé cuál es el "efecto de animación genial al igual que en la aplicación Lista de compras de comestibles". No todos tienen esa aplicación.

Las filas no se pueden mover programáticamente.

Sin embargo, puede insertar y eliminar una fila simultáneamente para simular un movimiento.

[tableView beginUpdates]; [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:rowToMove] withRowAnimation:UITableViewRowAnimationLeft]; [tableView insertRowsAtIndexPaths:[NSArray arrayWithObject:indexPathToMoveTo] withRowAnimation:UITableViewRowAnimationLeft]; // update your dataSource as well. [tableView endUpdates];