一.簡單介紹
capropertyanimation的子類
屬性解析:
fromvalue:keypath相應屬性的初始值
tovalue:keypath相應屬性的結束值
隨著動畫的進行,在長度為duration的持續時間內,keypath相應屬性的值從fromvalue漸漸的變為tovalue。
如果fillmode=kcafillmodeforwards和removedoncomletion=no,那麼在動畫執行完畢後,圖層會保持顯示動畫執行後的狀態。但在實質上,圖層的屬性值還是動畫執行前的初始值,並沒有真正被改變。
比如,calayer的position初始值為(0,0),cabasicanimation的fromvalue為(10,10),tovalue為(100,100),雖然動畫執行完畢後圖層保持在(100,100)這個位置,實質上圖層的position還是為(0,0)。
二.平移動畫
#import "viewcontroller.h"
@inte***ce
viewcontroller ()
@property(nonatomic,strong) calayer *mylayer;
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
//設定動畫(基礎動畫)
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
@end
說明:
byvalue和tovalue的區別,前者是在當前的位置上增加多少,後者是到指定的位置。
設定**:設定動畫的**,可以監聽動畫的執行過程,這裡設定控制器為**。
**示例:
@inte***ce
viewcontroller ()
@property(nonatomic,strong) calayer *mylayer;
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
//設定動畫(基礎動畫)
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
#pragma mark -core animation delegate
- (void)animationdidstart:(caanimation *)anim
- (void)animationdidstop:(caanimation *)anim finished:(bool)flag
@end
通過列印結構可以看出,屬性值還是動畫執行前的初始值,並沒有真正被改變為。
三.縮放動畫
#import "viewcontroller.h"
@inte***ce
viewcontroller ()
@property(nonatomic,strong) calayer *mylayer;
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
//設定動畫(基礎動畫)
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
#pragma mark -core animation delegate
- (void)animationdidstart:(caanimation *)anim
- (void)animationdidstop:(caanimation *)anim finished:(bool)flag
@end
四.旋轉動畫
#import "viewcontroller.h"
@inte***ce
viewcontroller ()
@property(nonatomic,strong) calayer *mylayer;
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
//設定動畫(基礎動畫)
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
#pragma mark -core animation delegate
- (void)animationdidstart:(caanimation *)anim
- (void)animationdidstop:(caanimation *)anim finished:(bool)flag
@end
五.補充
可以通過transform (kvc)的方式來進行設定
@inte***ce
viewcontroller ()
@property(nonatomic,strong) calayer *mylayer;
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)didreceivememorywarning
//設定動畫(基礎動畫)
- (void)touchesbegan:(nsset*)touches withevent:(uievent *)event
#pragma mark -core animation delegate
- (void)animationdidstart:(caanimation *)anim
- (void)animationdidstop:(caanimation *)anim finished:(bool)flag
@end
iOS核心動畫 基礎動畫
核心動畫 在ios中核心動畫分為幾類 基礎動畫 cabasicanimation 關鍵幀動畫 cakeyframeanimation 動畫組 caanimationgroup 轉場動畫 catransition caanimation 核心動畫的基礎類,不能直接使用,負責動畫執行時間 速度的控制,本...
(一二一)核心動畫基礎
核心動畫基於quartzcore框架,僅僅能用於calayer,能夠實現3d效果。它在子執行緒中執行動畫,不會堵塞主線程。要實現核心動畫,主要使用cabasicanimation實現單步動畫 使用cakeyframeanimation實現幀動畫。動畫的主要屬性有duration keypath va...
IOS開發核心動畫篇 核心動畫簡介
ios開發ui篇 核心動畫簡介 一 簡單介紹 core animation,中文翻譯為核心動畫,它是一組非常強大的動畫處理api,使用它能做出非常炫麗的動畫效果,而且往往是事半功倍。也就是說,使用少量的 就可以實現非常強大的功能。core animation是跨平台的,可以用在mac os x和io...