CoreAnimation

 
Core Animation is a graphics rendering and animation infrastructure available on both iOS and OS X that you use to animate the views and other visual elements of your app. With Core Animation, most of the work required to draw each frame of an animation is done for you. All you have to do is configure a few animation parameters (such as the start and end points) and tell Core Animation to start. Core Animation does the rest, handing most of the actual drawing work off to the onboard graphics hardware to accelerate the rendering. This automatic graphics acceleration results in high frame rates and smooth animations without burdening the CPU and slowing down your app.

 

核⼼心動畫是⼀一個圖形渲染與動畫基礎設施上 iOS OS X 用來進⾏行動畫處理的事務和其餘視覺元 素的應用在你的app上。核⼼心動畫,爲您完成⼤大部分繪製每一個動畫幀所需的⼯工做。全部你必須作是 配置⼏幾個動畫參數 (如起始和結束點) 並告訴核⼼心動畫開始播放。核⼼心動畫沒有休息,遞⼤大部 分的實際的繪圖⼯工做板載圖形硬件,以加快渲染速度。這種自動圖形加速致使⾼高的幀速率和平滑 的動畫沒有加劇 CPU 負擔和減慢您的應用程序。 app

 

 

1.CAAnimation經常使用的屬性 *CAAnimation是全部動畫類的⽗父類,可是它不能直接使用,應該使用它的⼦子類

 

經常使用的屬性: 動畫

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

*CAPropertyAnimation也是不能直接使用的,也要使用它的⼦子類

 

*So能用的動畫類只剩下4個:CABasicAnimationCAKeyframeAnimation

CATransitionCAAnimationGroup

CAPropertyAnimation CAPropertyAnimationCAAnimation的⼦子類,可是不能直接使用,要想建立動畫對象,應該使用它的

兩個⼦子類:CABasicAnimationCAKeyframeAnimation

它有個NSString類型的keyPath屬性,你能夠指定CALayer的某個屬性名爲keyPath,而且對CALayer的 這個屬性的值進⾏行修改,達到相應的動畫效果。好比,指定@"position"keyPath,就會修改CALayer position屬性的值,以達到平移的動畫效果

所以,初始化好CAPropertyAnimation的⼦子類對象後,必須先設置keyPath,搞清楚要修改的是CALayer 的哪一個屬性,執⾏行的是怎樣的動畫

 

CABasicAnimation 簡單的爲圖層的屬性提供修改。 不少圖層的屬性修改默認會執⾏行這個動畫 類。好比⼤大小,透明度,顏⾊色等屬性

 

CAKeyframeAnimation 支持關鍵幀動畫,你能夠指定的圖層屬性的關鍵路徑動畫,包括動畫的每一個階段 的價值,以及關鍵幀時間和計時功能的⼀一系列值。在 動畫運⾏行是,每一個值被特定的插⼊入值替代。

相關文章
相關標籤/搜索