Tengo varios Core Animation pasando al mismo tiempo. Todos ellos tienen un contexto y una identificación de animación, donde el contexto es el objeto animado (objetos UIImageView). Me gustaría ponerlos en pausa, de modo que la animación simplemente se detenga temporalmente, y luego, cuando se hayan hecho algunas cosas, reinícielo para completarlo. Estas cosas solo ocurren en movimientos de desplazamiento muy rápidos en un UIScrollView. Quiero mejorar el rendimiento al detener todas las animaciones en curso, pero no el que hace que la vista de desplazamiento se desplace. Implementé una animación personalizada de contentOffset para esa vista de desplazamiento.¿Hay alguna forma de pausar una Animación Core y reanudarla en algún momento posterior?
Respuesta
La única forma en que lo he solucionado es la siguiente.
para cada vista que desea detener la animación:
set marco de la vista a la capa de presentación
Eliminar todas las animaciones desde ese punto de vista
Realizar el desplazamiento
animacionesRecalcular
Agregue nuevas animaciones a la vista
Sé que no es lo que quieres escuchar, pero no es tan malo como parece. Una buena forma de rastrear las vistas que desea detener es darles una etiqueta predeterminada.
Para eliminar animaciones:
[myView.layer removeAllAnimations]
[myView.layer removeAnimationForKey: @ "theAnimationKey"]
Puede hacer una pausa animaciones capa de ajuste de la velocidad de la animación a cero, vea How to pause the animation of a layer tree.
Para cualquier persona que viene a buscar, esta es la forma de pausar y reanudar las animaciones:
https://developer.apple.com/library/ios/#qa/qa2009/qa1673.html
- 1. ¿Hay alguna manera de pausar una CABasicAnimation?
- 2. Pausar animación CALayer con una animación con un retraso
- 3. Animación de fragmentos y la pila posterior
- 4. Usando Core Animation, ¿hay alguna forma de agrupar animaciones para varios CALayers?
- 5. Animación de botón posterior personalizada
- 6. ¿Hay alguna forma de detectar una animación en ejecución en iOS?
- 7. ¿Hay alguna alternativa a Rational Team Concert en este momento?
- 8. ¿Hay algún proyecto de ejemplo que contenga Core Plot?
- 9. ejecutar/pausar animación CSS con jQuery
- 10. Abriendo una cortina: Animación con Core Animation
- 11. ¿Hay alguna forma de averiguar cuántos grados se rotan actualmente durante una animación?
- 12. ¿Hay alguna forma de sobrecargar + = en python?
- 13. ¿Hay alguna forma de tomar una captura de pantalla con Java y guardarla en algún tipo de imagen?
- 14. ¿Hay algún tutorial de animación de Android útil para principiantes?
- 15. ¿Hay alguna forma de currying en C?
- 16. ¿Hay alguna forma en XQuery de obtener la hora actual en milisegundos desde algún tiempo?
- 17. Animación en bucle, reversible con Core Animation
- 18. ¿hay alguna manera de pausar un NSTHread indefinidamente y que se reanude desde otro subproceso?
- 19. ¿Hay alguna forma de sumar y restar valores en CSS?
- 20. Firebug y solicitud posterior
- 21. Biselando una ruta/forma en Core Graphics
- 22. Core-Plot Ejemplos de animación de iPhone
- 23. ¿Hay alguna forma de pasar el iPhone?
- 24. Seguimiento de una animación de núcleo Animación
- 25. ¿Hay alguna forma de usar `exec` en una cláusula where?
- 26. ¿Hay alguna forma de regexp-quote una cadena en Node.js?
- 27. ¿Hay alguna forma de compilar código Java en una DLL?
- 28. ¿Hay alguna forma de bloquear un proceso en una CPU?
- 29. Pausar la ejecución de JavaScript en UIWebView
- 30. Kindle Fire cambia resolución de pantalla en algún momento ...
¿Cómo eliminar animaciones desde el punto de vista? – Thanks
[myView.layer removeAllAnimations] o [myView.layer removeAnimationForKey: @ "theAnimationKey"] –
Esto podría ser una pregunta estúpida, pero ¿cómo configuro el marco de la vista en la capa de presentación? Supongo que no está hablando de la propiedad de marco de la vista aquí. – kareman