tengo el siguiente problema.Obtiene la posición actual de scrollview animado
i subclases un UIScrollView cuales contentOffset está animada por este código:
[UIView animateWithDuration:1.0
delay:1.0
options:options
animations:^{
self.contentOffset = CGPointMake(label.frame.size.width, 0);
}
completion:^(BOOL completed) {
//some other stuff
}];
Ahora, cuando el usuario "willBeginDragging" la ScrollView, quiero parar la animación actual y establecer el scrollview.contentoffset a la corriente posición que tiene en la uanimación.
por ejemplo, el usuario entra en la pantalla, después de 1 segundo la vista de desplazamiento comienza a desplazarse, si el usuario toca el desplazamiento después de 2 segundos y lo arrastra, el scrollview.contentoffset debe tener la posición exacta de la posición de animación actual .
si obtengo el valor de compensación de contenido en el método willbegindrag, ya es el último valor de la animación, ya que uianimation establece los valores en el estado final y luego los anima.
¿cómo obtengo la posición actual del desplazamiento de contenido de la animación en ejecución?
NSLog(@"pos of content x %f, y %f", [[self.layer presentationLayer] frame].origin.x, [[self.layer presentationLayer] frame].origin.y);
`ve leer sobre la capa de presentación, pero la vista en sí misma no está animado, necesito el scrollview.contentoffset.
mhh, ¿Alguna idea? THX
ya resuelto:
El self.layer capa de presentación es absolutamente correcto.
pero tenía que usar los límites y no el marco ....
Lo sentimos, ahora usted y yo lo sé: P
Así que el código es correcto:
CGPoint pos = [[self.layer presentationLayer] bounds].origin;
para obtener la posición actual de una vista de desplazamiento animada mientras se anima.
Muchas gracias – SampathKumar
todas las devoluciones 0.000, –
Esta respuesta es fuera de tema. La pregunta es acerca de obtener contentOffset mid-animation. Esta solución obtiene contenido Desactivar cada llamada de desplazamiento. – rizzes