¿Alguna razón para usar UIView Animation sobre las técnicas Core Animation?
-
07-07-2019 - |
Pregunta
Estoy trabajando en una aplicación Snow Leopard y estoy haciendo algunas animaciones de vista (intercambiándolas) y he visto algunos ejemplos más antiguos usando NSViewAnimation. Me pregunto si estas son completamente obsoletas por Core Animation?
Parece bastante simple para mí usar
[[myView animator] setFrame:newSwapFrame];
Pero me pregunto si me falta algo o si NSViewAnimation sigue siendo relevante (aparte de la compatibilidad con versiones anteriores).
Solución
Generalmente, debe pasar a Core Animation para obtener el código 10.5+. NSViewAnimation
es bastante primitivo y no hace un uso tan eficiente del hardware. No puedo pensar en ninguna ventaja de permanecer con NSViewAnimation
que no sea la compatibilidad 10.4.
Otros consejos
Hay algunos casos en los que Core Animation no es adecuado. Por ejemplo, no puede poner un WebView en una vista con respaldo de capa sin que ocurran cosas extrañas.
Además, los campos de texto en las vistas respaldadas por capas no usan suavizado de subpíxeles, lo que puede ser un factor decisivo.
Si no está utilizando vistas respaldadas por capas, entonces su ejemplo de simplemente usar el soporte de propiedad animable es definitivamente más fácil que usar NSAnimation.
Si necesita obtener una captura de pantalla de la ventana más tarde (por ejemplo, para realizar una animación de transición entre dos estados de la ventana), las vistas animadas principales (vista con CAAnimation
) no se pueden capturar.
Pero CAAnimation
siempre funciona rápido y NSAnimation
puede ralentizarse si la CPU está demasiado ocupada.