2009-07-21 11 views
15

Me gustaría tener una mejor comprensión de este parámetro en¿Qué explica mejor la animación de animación CAPropertyAnimationWithKeyPath: parámetro?

+ (id)animationWithKeyPath:(NSString *)keyPath 

Se limitan a decir: "La ruta de la clave de la propiedad a ser animado."

En algunos ejemplos de fragmentos que veo cosas como:

CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"]; 

CAKeyframeAnimation *animatedIconAnimation = [CAKeyframeAnimation animationWithKeyPath: @"frameOrigin"]; 

¿Hay una lista o regla de oro para determinar el parámetro de ruta de la clave correcta? es decir, cuando quiero animar el ancho de un marco, ¿qué tipo de reglas tendré que seguir para llegar a la cadena de parámetros del camino de la clave correcta?

Respuesta

6

Para entender qué es una "ruta de acceso de clave", debe aprender un poco sobre la codificación de clave-valor (KVC). Para empezar, debe leer Key-Value Coding Fundamentals, pero al final debe leer todo el Key-Value Coding Programming Guide. Una vez que comprenda KVC, será mucho más fácil comprender otros conceptos, como Key-Value Observing (KVO).

18

Bueno, por ejemplo, si estás animando la propiedad de capa de un UIView, entonces mira CALayer.h - aquí puedes encontrar la opacidad de la propiedad, y el documento en línea menciona que es animable. O frameOrigin en NSView.

Un montón de propiedades son animatable, para el iPhone:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/AnimatableProperties/AnimatableProperties.html

y Mac:

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CoreAnimation_guide/Articles/AnimProps.html#//apple_ref/doc/uid/TP40005942-SW4

Y entonces hay algunas extensiones:

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CoreAnimation_guide/Articles/KVCAdditions.html

para darle:

[CABasicAnimation animationWithKeyPath: @ "transform.scale.x"];

+2

Enlace de actualización a todas las propiedades animables: https://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreAnimation_guide/AnimatableProperties/AnimatableProperties.html –

0

Tipos CABasicAnimation animationWithKeyPath

Cuando utilizando el CABasicAnimation del QuartzCore Framework en Objective-C, hay que especificar un animationWithKeyPath. Esta es una cadena larga y no se muestra fácilmente en la clase CABasicAnimation, CAPropertyAnimation ni en la clase CAAnimation. Terminé encontrando un gráfico útil dentro de la guía de programación de Core Animation en la biblioteca de referencia de iPhone OS de Apple. Espero que esto ayude a ahorrarle tiempo a alguien, al menos lo hará por mí.

Desde: http://www.adamzucchi.com/blog/?p=24

0

he utilizado animationWithKeyPath: @ "oculta" y animationWithKeyPath: @ "strokeEnd". No están enumerados en el siguiente enlace, así que me pregunto si debe haber muchos más.

Cuestiones relacionadas