Core Animation简介
Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API
Core Animation可以用在Mac OS X和iOS平台
Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程
Core Animation是直接作用在CALayer上的,并非UIView
核心动画继承结构
![](https://img.haomeiwen.com/i1116822/53b2cb0dfc95012d.png)
核心动画中所有类都遵守CAMediaTiming协议
CAAnaimation是个抽象类,不具备动画效果,必须用它的子类才有动画效果
CATransition是转场动画,界面之间跳转都可以用转场动画
CAPropertyAnimation也是个抽象类,本身不具备动画效果,只有子类才有那两个子类了,CABasicAnimation和CAKeyframeAnimation
CABasicAnimation基本动画,做一些简单效果
CAKeyframeAnimation帧动画,做一些连续的流畅的动画
动画简介
![](https://img.haomeiwen.com/i1116822/2400a877f39555ff.png)
动画填充模式
![](https://img.haomeiwen.com/i1116822/0ed60d1137114447.png)
动画速度控制函数
![](https://img.haomeiwen.com/i1116822/e049661187c12380.png)
动画代理方法
![](https://img.haomeiwen.com/i1116822/f49dd2ac76a860ac.png)
基本动画
![](https://img.haomeiwen.com/i1116822/9ee5c4786c6310a1.png)
帧动画
![](https://img.haomeiwen.com/i1116822/51ddbac51651390d.png)
动画组
![](https://img.haomeiwen.com/i1116822/ceb4d1eea8557a25.png)
转场动画
![](https://img.haomeiwen.com/i1116822/14217faf62ec716c.png)
转场动画过渡效果
![](https://img.haomeiwen.com/i1116822/b4b21b760d3ad604.png)
Core Animation的使用步骤
1.首先得有CALayer
2.初始化一个CAAnimation对象,并设置一些动画相关属性
3.通过调用CALayer的addAnimation:forKey:方法,增加CAAnimation对象到CALayer中,这样就能开始执行动画了
4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画
基础动画(CABasicAnimation)简单应用
![](https://img.haomeiwen.com/i1116822/c900dbc49831e91d.png)
心跳效果
![](https://img.haomeiwen.com/i1116822/e8c3931acef7cc41.png)
帧动画(CAKeyframeAnimation)
非根层做核心动画
![](https://img.haomeiwen.com/i1116822/7fb8888a543d2879.png)
围绕路径做核心动画
![](https://img.haomeiwen.com/i1116822/c3da688bb2e5ce23.png)
转场动画(CATransition)
![](https://img.haomeiwen.com/i1116822/35d5b3e3717b8a5a.png)
动画组(CAAnimationGroup)
![](https://img.haomeiwen.com/i1116822/c7fb350954ba8b11.png)
UIView和核心动画的区别
![](https://img.haomeiwen.com/i1116822/0f27d48733ae8f82.png)
网友评论