iOSCoreAnimation动画系列教程(一):CABasicAnimation【包会】
2016-06-01 15:02
218 查看
在iOS中,图形可分为以下几个层次:
![](http://images.cnitblog.com/blog/374539/201501/261752558947877.png)
越上层,封装程度越高,动画实现越简洁越简单,但是自由度越低;反之亦然。本文着重介绍Core Animation层的基本动画实现方案。
在iOS中,展示动画可以类比于显示生活中的“拍电影”。拍电影有三大要素:演员+剧本+开拍,概念类比如下:
一、概念介绍
1.1CALayer是什么呢?
1.2CAAnimation是什么呢?
CAAnimation可分为四种:
1.CABasicAnimation
通过设定起始点,终点,时间,动画会沿着你这设定点进行移动。可以看做特殊的CAKeyFrameAnimation
2.CAKeyframeAnimation
Keyframe顾名思义就是关键点的frame,你可以通过设定CALayer的始点、中间关键点、终点的frame,时间,动画会沿你设定的轨迹进行移动
3.CAAnimationGroup
Group也就是组合的意思,就是把对这个Layer的所有动画都组合起来。PS:一个layer设定了很多动画,他们都会同时执行,如何按顺序执行我到时候再讲。
4.CATransition
这个就是苹果帮开发者封装好的一些动画
二、动手干活
实践出真知,看个例子就知道:
比如我们想实现一个类似心跳的缩放动画可以这么做,分为演员初始化、设定剧本、电影开拍三个步骤:
效果请参考附图中的蓝色方块。其他效果可以依葫芦画瓢轻松实现。想要实现不同的效果,最关键的地方在于CABasicAnimation对象的初始化方式中keyPath的设定。在iOS中有以下几种不同的keyPath,代表着不同的效果:
![](http://images.cnitblog.com/blog/374539/201501/270936547379029.png)
此外,我们还可以利用GroupAnimation实现多种动画的组合,在GroupAnimation中的各个动画类型是同时进行的。
![](http://images.cnitblog.com/blog/374539/201501/281717520973529.gif)
完整的demo工程点CAAnimationDemo.zip下载
原文地址:http://www.cnblogs.com/wengzilin/p/4256468.html
![](http://images.cnitblog.com/blog/374539/201501/261752558947877.png)
越上层,封装程度越高,动画实现越简洁越简单,但是自由度越低;反之亦然。本文着重介绍Core Animation层的基本动画实现方案。
在iOS中,展示动画可以类比于显示生活中的“拍电影”。拍电影有三大要素:演员+剧本+开拍,概念类比如下:
演员--->CALayer,规定电影的主角是谁 剧本--->CAAnimation,规定电影该怎么演,怎么走,怎么变换 开拍--->AddAnimation,开始执行
一、概念介绍
1.1CALayer是什么呢?
CALayer是个与UIView很类似的概念,同样有layer,sublayer...,同样有backgroundColor、frame等相似的属性,我们可以将UIView看做一种特殊的CALayer,只不过UIView可以响应事件而已。一般来说,layer可以有两种用途,二者不互相冲突:一是对view相关属性的设置,包括圆角、阴影、边框等参数,更详细的参数请点击这里;二是实现对view的动画操控。因此对一个view进行core animation动画,本质上是对该view的.layer进行动画操纵。
1.2CAAnimation是什么呢?
CAAnimation可分为四种:
1.CABasicAnimation
通过设定起始点,终点,时间,动画会沿着你这设定点进行移动。可以看做特殊的CAKeyFrameAnimation
2.CAKeyframeAnimation
Keyframe顾名思义就是关键点的frame,你可以通过设定CALayer的始点、中间关键点、终点的frame,时间,动画会沿你设定的轨迹进行移动
3.CAAnimationGroup
Group也就是组合的意思,就是把对这个Layer的所有动画都组合起来。PS:一个layer设定了很多动画,他们都会同时执行,如何按顺序执行我到时候再讲。
4.CATransition
这个就是苹果帮开发者封装好的一些动画
二、动手干活
实践出真知,看个例子就知道:
比如我们想实现一个类似心跳的缩放动画可以这么做,分为演员初始化、设定剧本、电影开拍三个步骤:
效果请参考附图中的蓝色方块。其他效果可以依葫芦画瓢轻松实现。想要实现不同的效果,最关键的地方在于CABasicAnimation对象的初始化方式中keyPath的设定。在iOS中有以下几种不同的keyPath,代表着不同的效果:
![](http://images.cnitblog.com/blog/374539/201501/270936547379029.png)
此外,我们还可以利用GroupAnimation实现多种动画的组合,在GroupAnimation中的各个动画类型是同时进行的。
![](http://images.cnitblog.com/blog/374539/201501/281717520973529.gif)
完整的demo工程点CAAnimationDemo.zip下载
原文地址:http://www.cnblogs.com/wengzilin/p/4256468.html
相关文章推荐
- YY项目之帧动画(二)
- Android播放网页视频以及帧动画
- unity2d之2d帧动画创建
- unity工具IGamesTools之批量生成帧动画
- 关于ImageView添加帧动画的兼容问题
- cocos2dx制作帧动画,如何做到每帧动作间左右不偏移,上下不起伏?
- 在xcode7.1 上创建动画
- OC笔记 - 核心动画(2015.4.6)
- OC笔记 - 懒加载、plist文件加载、UIImageView帧动画(2015.2.4)
- IOS的几种动画及其简单应用
- Android动画学习笔记-Android Animation
- IOS1.7-UIImageView的帧动画相关属性和方法 (示例汤姆猫)
- 史上最简单android动画之frame by frame(帧动画)
- cocos2d-x 3.0 预加载pvr资源
- coco2d-x 2.0.4 帧动画 两种实现方式
- iOS 之 CABasicAnimation
- iOS开发UI篇:核心动画
- CABasicAnimation旋转动画
- 使用帧动画在5.0以上不会自动播放
- Android的帧动画补间动画,新手复习