<p class="p1"><span class="s1">@interface</span> CAAnimation : <span class="s2">NSObject </span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;"><</span><span style="font-family: Arial, Helvetica, sans-serif;">NSCoding</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">, </span><span style="font-family: Arial, Helvetica, sans-serif;">NSCopying</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">, </span><span style="font-family: Arial, Helvetica, sans-serif;">CAMediaTiming</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">, </span><span style="font-family: Arial, Helvetica, sans-serif;">CAAction</span><span class="s3" style="font-family: Arial, Helvetica, sans-serif;">></span></p>
</pre><pre name="code" class="objc">CAAnimation属性
delegate
@property(retain) id delegate
为CAAnimation设置代理。默认为nil。
注意:一个CAAnimation实例,不能设置delegate为self。会引起循环引用。
removedOnCompletion
@property(getter=isRemovedOnCompletion) BOOL removedOnCompletion
设置是否动画完成后,动画效果从设置的layer上移除。默认为YES。
timingFunction
@property(retain) CAMediaTimingFunction *timingFunction
设置动画的“时机”效果。就是动画自身的“节奏”:比如:开始快,结束时变慢;开始慢,结束时变快;匀速;等,在动画过程中的“时机”效果。
animation
+ (id)animation
创建并返回一个CAAnimation实例。
defaultValueForKey
+ (id)defaultValueForKey:(NSString *)key
根据属性key,返回相应的属性值。
CAAnimation实例方法
shouldArchiveValueForKey
- (BOOL)shouldArchiveValueForKey:(NSString *)key
返回指定的属性值是否可以归档。
key:指定的属性。
YES:指明该属性可以被归档;NO:不能被归档。
CAAnimation协议方法
animationDidStart
- (void)animationDidStart:(CAAnimation *)theAnimation
动画开始时,执行的方法。
theAnimation:正在执行动画的CAAnimation实例。
animationDidStop:finished
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
动画执行完成或者动画为执行被删除时,执行该方法。
theAnimation:完成或者被删除的动画实例
flag:标志该动画是执行完成或者被删除:YES:执行完成;NO:被删除。