核⼼心动画是⼀一个图形渲染与动画基础设施上 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 支持关键帧动画,你能够指定的图层属性的关键路径动画,包括动画的每一个阶段 的价值,以及关键帧时间和计时功能的⼀一系列值。在 动画运⾏行是,每一个值被特定的插⼊入值替代。