2011-05-28 36 views
8

Tengo problemas para entender la animación principal de Apple (para iOS). Estoy tratando de animar el position y bounds de una capa al mismo tiempo (pero con diferentes funciones de tiempo).¿Por qué debería usar un CAAnimationGroup?

De acuerdo con la documentación, un CAAnimationGroup permite agrupar múltiples animaciones y ejecutarlas al mismo tiempo. Pero según mis (primeros) experimentos, esto también se puede lograr agregando varios objetos de animación a la capa objetivo. Si es así, ¿cuál es el propósito de ese CAAnimationGroup?

Respuesta

4

Si desea animar dos propiedades diferentes con diferentes funciones de temporización, no es necesario agrupar estas animaciones en este caso. Creo que la agrupación es útil cuando crea varias animaciones y desea que tengan el mismo comportamiento de sincronización. Puede establecer la función de temporización para el grupo. En el libro de cocina Core Animation vi un example que muestra cómo usar la agrupación al establecer una curva de tiempo para CAKeyframeAnimation.

+0

+1, pero no entiendo por qué se agrupan las animaciones cuando las funciones de sincronización son las mismas. ¿La agrupación hace la diferencia? – ragnarius

+0

En el caso de un grupo, no tiene que ver si cada una de las animaciones en el grupo tiene la función o la duración de temporización adecuadas, sino que se establece una vez. –

+0

[Aquí] (http://www.cimgf.com/2009/02/03/record-your-core-animation-animation/) es un tipo de tutorial. No se trata de agruparse, pero la primera muestra de código (Usar una animación interesante) muestra la agrupación. Y la duración se establece en 5 segundos para el grupo. –

0

La siguiente cita es del libro "iOS Core Animation"

Adición de un grupo de animación a una capa no es fundamentalmente diferente de la adición de las animaciones de forma individual, así que no es inmediatamente claro cuándo o por qué usaría esta clase. Proporciona cierta comodidad en los términos de poder establecer colectivamente duraciones de animación, o agregar y eliminar múltiples animaciones de una capa con un solo comando, pero su utilidad solo se vuelve aparente cuando se trata de la sincronización jerárquica , que se explica en el Capítulo 9.