¿Cómo determina UITableViewRowAnimationAutomatic qué animation usar?

El SDK de iOS 5 introdujo un nuevo tipo de animation para inserciones y eliminaciones de celdas de tabla: UITableViewRowAnimationAutomatic . La documentation de Apple para este valor simplemente dice:

La vista de tabla elige un estilo de animation apropiado para usted.

Entonces, err, ¿cómo funciona esto exactamente? ¿Qué factores tiene en count la vista de tabla? ¿La longitud de la table? ¿Los datos visibles? ¿La fase de la luna?

Depende de dónde se inserte la fila.

Normalmente, si está manipulando filas al comienzo o al final de una sección y elige una animation inapropiada, la fila podría mostrarse detrás del encabezado / pie de página a medida que se anima. El propósito de UITableViewRowAnimationAutomatic es permitir que la vista de tabla select automáticamente una animation que se ve bien.

Por ejemplo, cuando se inserta una fila al principio de una sección, la vista de tabla utilizará UITableViewRowAnimationBottom . Cuando se inserta al final de una sección, la vista de tabla utilizará UITableViewRowAnimationTop .

La session WWDC 2011 "UITableView Changes, Tips, Tricks" se desarrolla con más detalle alnetworkingedor de las 3:25.