with multiple example eureka different custom community iphone uitableview animation resize

iphone - multiple - uitableview swift 4



iPhone-AnimaciĆ³n suave para el cambio de altura de UITableViewCell, incluida la actualizaciĆ³n de contenido (1)

Posible duplicado:
¿Se puede animar un cambio de altura en una UITableViewCell cuando se selecciona?

Tengo una vista de tabla en la que al hacer clic en un swich en una celda, muchas celdas de la vista de tabla pueden cambiar su altura. Es un poco complicado calcular qué celdas cambiarán su tamaño, así que me gustaría no llamar dos veces el mismo código.

Tengo un método heightForRowAtIndexPath (este es el complicado).

¿Hay alguna manera de animar la función de crecimiento o reducción de la célula sin afectar la que no cambia?

UIView Animations, reloadData para secciones con animación, ... pero no encontré nada sin problemas. Intenté capturar cada celda que tendrá que cambiar y llamar a un ReloadData con animación en cada celda. Está cerca de funcionar pero las celdas se están actualizando una después de la otra. Y como dije antes, no quiero hacer eso porque debo llamar dos veces el método heightForRowAtIndexPath.

Lo que me gustaría es algo que pueda animar cada celda que tiene una altura cambiante con algo así como un movimiento de crecimiento o reducción, y no un desvanecimiento.

¿Conoces una manera de hacer eso? Una cosa más, el contenido de la celda está cambiando un poco cuando cambia el tamaño (algo de texto agregado, cambio de color de fondo y cosas así)


UITableView tiene un buen truco para animar los cambios en las alturas de las celdas: si envía un bloque de actualizaciones vacías a la vista de tabla, no insertará ni eliminará ninguna celda, pero seguirá recalculando las alturas de celda para toda la tabla. Entonces, aunque este fragmento de código se ve raro, debería hacerlo:

[tableView beginUpdates]; [tableView endUpdates];

Si también desea cambiar el contenido de las celdas actualizadas, debe agregar una o más llamadas a reloadRowsAtIndexPaths:withRowAnimation: al bloque de actualizaciones, por supuesto.