核⼼心動畫是⼀一個圖形渲染與動畫基礎設施上 iOS 和 OS X 用來進⾏行動畫處理的事務和其餘視覺元 素的應用在你的app上。核⼼心動畫,爲您完成⼤大部分繪製每一個動畫幀所需的⼯工做。全部你必須作是 配置⼏幾個動畫參數 (如起始和結束點) 並告訴核⼼心動畫開始播放。核⼼心動畫沒有休息,遞⼤大部 分的實際的繪圖⼯工做板載圖形硬件,以加快渲染速度。這種自動圖形加速致使⾼高的幀速率和平滑 的動畫沒有加劇 CPU 負擔和減慢您的應用程序。 app
經常使用的屬性: 動畫
1).duration:動畫的持續時間 ui
2).repeatCount:動畫的重複次數 spa
3).timingFunction:控制動畫運⾏行的節奏
timingFunction可選的值有: • kCAMediaTimingFunctionLinear(線性):勻速,給你⼀一個相對靜態的感受 代理
• kCAMediaTimingFunctionEaseIn(漸進):動畫緩慢進⼊入,而後加速離開
• kCAMediaTimingFunctionEaseOut(漸出):動畫全速進⼊入,而後減速的到達目的地 rest
• kCAMediaTimingFunctionEaseInEaseOut(漸進漸出):動畫緩慢的進⼊入,中間加速,而後 減速的到達目的地。這個是默認的動畫⾏行爲 對象
4).delegate:動畫代理,用來監聽動畫的執⾏行過程 blog
@interface NSObject (CAAnimationDelegate)
// 動畫開始執⾏行的時候觸發這個⽅方法 事務
- (void)animationDidStart:(CAAnimation *)anim;
// 動畫執⾏行完畢的時候觸發這個⽅方法 element
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;
@end
*So能用的動畫類只剩下4個:CABasicAnimation、 CAKeyframeAnimation、
CATransition、 CAAnimationGroup
CAPropertyAnimation CAPropertyAnimation是CAAnimation的⼦子類,可是不能直接使用,要想建立動畫對象,應該使用它的
兩個⼦子類:CABasicAnimation和CAKeyframeAnimation
它有個NSString類型的keyPath屬性,你能夠指定CALayer的某個屬性名爲keyPath,而且對CALayer的 這個屬性的值進⾏行修改,達到相應的動畫效果。好比,指定@"position"爲keyPath,就會修改CALayer 的position屬性的值,以達到平移的動畫效果
所以,初始化好CAPropertyAnimation的⼦子類對象後,必須先設置keyPath,搞清楚要修改的是CALayer 的哪一個屬性,執⾏行的是怎樣的動畫
CAKeyframeAnimation 支持關鍵幀動畫,你能夠指定的圖層屬性的關鍵路徑動畫,包括動畫的每一個階段 的價值,以及關鍵幀時間和計時功能的⼀一系列值。在 動畫運⾏行是,每一個值被特定的插⼊入值替代。