码迷,mamicode.com
首页 > 其他好文 > 详细

CoreAnimation

时间:2015-08-13 17:21:16      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

 
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 负担和减慢您的应用程序。

技术分享

 

 

1.CAAnimation常用的属性 *CAAnimation是所有动画类的?父类,但是它不能直接使用,应该使用它的?子类

 

常用的属性:

1).duration:动画的持续时间

2).repeatCount:动画的重复次数

3).timingFunction:控制动画运?行的节奏
timingFunction可选的值有: • kCAMediaTimingFunctionLinear(线性):匀速,给你?一个相对静态的感觉

• kCAMediaTimingFunctionEaseIn(渐进):动画缓慢进?入,然后加速离开
• kCAMediaTimingFunctionEaseOut(渐出):动画全速进?入,然后减速的到达目的地

• kCAMediaTimingFunctionEaseInEaseOut(渐进渐出):动画缓慢的进?入,中间加速,然后 减速的到达目的地。这个是默认的动画?行为

4).delegate:动画代理,用来监听动画的执?行过程

@interface NSObject (CAAnimationDelegate)

// 动画开始执?行的时候触发这个?方法

- (void)animationDidStart:(CAAnimation *)anim;

// 动画执?行完毕的时候触发这个?方法

- (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 支持关键帧动画,你可以指定的图层属性的关键路径动画,包括动画的每个阶段 的价值,以及关键帧时间和计时功能的?一系列值。在 动画运?行是,每个值被特定的插?入值替代。

 

 

 

 

 

CoreAnimation

标签:

原文地址:http://www.cnblogs.com/coder-mh/p/4727704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!