Así que tengo esta línea de código:realizar una tarea (en IOS) después de la animación ha terminado
[tableView setContentOffset:point animated:YES];
y quiero correr otra pieza de código después de que termine la animación. Mi intento fue a tirar el código animación (setContentOffset) en un método separado y llamarlo usando:
[self performSelectorOnMainThread:@selector(scrollMethod:) withObject:sender waitUntilDone:YES];
El problema es que el método devuelve de inmediato, no después de la animación está terminado, a pesar de que waitUntilDone es SÍ , pero aparentemente así es como funciona la animación.
Sé que puedo usar hilo esperando pero no está limpio, por lo que solo lo usaré como último recurso. (Tal vez usaría esto si sé el tiempo que le lleva a la animación de desplazamiento.)
Cualquier idea sobre cómo hacerlo es bienvenida.
(PD El escenario es este: estoy mostrando un popover, que se muestra perfectamente cuando no hay teclado, sin embargo, si el teclado es visible, la altura del popover se reduce, lo que algunas veces lo reduce casi al borde. antes de mostrar el popover, quiero desplazar la vista hacia arriba de modo que el popover no aparece en el teclado)
Iba a responder lo mismo ... Me pregunto si esto interferirá con las animaciones de TableView. – SpacyRicochet
Hola @SpacyRicochet Acabo de intentarlo, y funciona bien. :) – Kjuly
Entonces mi nueva respuesta todavía es útil con fines educativos :) – SpacyRicochet