2009-07-28 24 views
8

Tengo un UITableView agrupado con un par de filas, y estoy animando algunas filas más dentro y fuera con solo presionar un botón. El problema es que con cualquiera de los tipos de animación de fila que estoy usando (arriba & abajo) ¡la animación se ve horrible! noAgrupaciones de animación de fila UITableView agrupadas

Example http://files.michaelwaterfall.com/images/uitableview-animation.png

una razón por la que está buscando tan malo: Aquí hay una captura de pantalla a mediados de animación? ¿O todas las animaciones de vista de tabla agrupadas se ven tan impactantes?

Creo que solo se ve tan mal cuando se está animando la primera o la última fila de una sección, así que me pregunto si hay alguna forma de que se vea un poco mejor? De lo contrario, creo que voy a llamar a ReloadData y que todo aparezca.

Gracias por su ayuda!

Michael

+0

nunca he tenido un problema con las animaciones, pero yo sólo he utilizado el estilo no agrupados. Voy a responder una vez que pruebe algunas cosas. – TahoeWolverine

+0

Parece que su enlace de imagen ya no es válido; ¿Quieres subirlo a imgur y volver a vincularlo? – brandonscript

Respuesta

12

Si elimina, agrega y/o mueve varias filas en un UITableView al mismo tiempo, debe encerrar todas estas llamadas con beginUpdates y endUpdates. De lo contrario, el resultado es indeterminado.

Por ejemplo:

[tableView beginUpdates]; 
[tableView insertRowsAtIndexPaths:newRows 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView deleteRowsAtIndexPaths:invalidRows: 
        withAnimation:UITableViewRowAnimationTop]; 
[tableView endUpdates]; 
+0

¡Ah, genial, lo intentaré tan pronto como pueda! ¡Gracias por su respuesta! –

0

No estoy seguro de qué se ve exactamente. Es difícil de decir a partir de una imagen estática.

Desafortunadamente no tiene control sobre la animación de inserción/eliminación en una tabla. Todo es manejado por la API de UITableView de alto nivel.

La única otra opción es realizar las animaciones por separado y consecutivamente y ver si se ve mejor. He hecho esto para eliminar algunos artefactos.

Pruebe también diferentes animaciones, como el fundido de entrada/salida. No es tan llamativo, pero se ve mejor en algunas situaciones.

0

He utilizado animaciones en una vista de tabla agrupada sin ningún problema, y ​​siempre se veía genial. ¿Qué le parece compartir algo del código? Tal vez estás haciendo algo mal en la construcción de la celda ... o aunque improbable en la inserción de las filas.

+0

Claro, de acuerdo, ¡publicaré un código tan pronto como pueda! –

0

Como han dicho otros, publicar algún código ayudaría.

¿Ya está realizando sus múltiples inserciones/eliminaciones dentro de un bloque beginUpdates/endUpdates?

0

Para referencia futura, por favor ver #6931544. He encontrado estas líneas arbitrarias mediados de transición se puede quitar con lo siguiente: -

[self.tableView setSeparatorStyle:UITableViewCellSelectionStyleNone]; 
Cuestiones relacionadas