天天看點

iOS動畫筆記之-----CAAnimation

<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:被删除。
           

繼續閱讀