scrollViewDidScroll: en UITableViewRowAnimation?

Cuando se usa una UITableViewRowAnimation cuando se UITableViewRowAnimation una fila o se agrega una fila, a veces, si esta fila está en los extremos de la vista de tabla, la tabla se desplaza.

Sin embargo, aunque se desplaza, no parece llamar a scrollViewDidScroll: en el delegado.

Por ejemplo, tengo el siguiente código en mi delegado.

 - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"Scrolling %f", scrollView.contentOffset.y); } 

Cuál es llamado si el usuario se desplaza. Pero cuando tengo una eliminación de una fila:

 [self.tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade]; 

El método scrollViewDidScroll: no se llama en absoluto.

¿Hay alguna forma de garantizar que esto se llame mientras el UITableView está animando?

¡Gracias!

En caso de que no sepa, scrollViewDidScroll solo se llama en respuesta a la interacción del usuario con una vista de desplazamiento (o, en este caso, vista de tabla). No se llama en respuesta al desplazamiento debido a las animaciones. Este comportamiento es fijo. Necesitarás encontrar otra forma de lograr lo que buscas. Tal vez esta pregunta existente pueda ser útil:

Cómo hacer que UIScrollView envíe posts scrollViewDidScroll durante las animaciones

Puede usar el siguiente enfoque en su lugar.

  [CATransaction setCompletionBlock: ^{ // do stuff }]; [CATransaction begin]; [tableView beginUpdates]; [tableView deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade]; [tableView endUpdates]; [CATransaction commit];