iOS动画之CALayer
UIView与CALayer的关系
1,UIView可以相应事件,CALayer不可以
2,UIView侧重于内容的管理,CALayer侧重于内容的绘制
3,两者紧密联系,缺一不可
UIView自带一个readonly的属性layer,大小和UIView的大小一致
下面我们来介绍一下比较重要的layer属性
首先我们先来说一下基本动画
CAAnimation:作用于CALayer层的动画,是抽象类
CAPropertyAnimation,属性动画,是抽象子类,不能直接使用
CABasicAnimation,基本动画
CAAnimation没有真实改变属性,只是在模拟属性值改变
下面我们来模拟几种动画效果
第一种是改变UIView的圆角弧度
其中KeyPath,写属性的名字或路径,这是一种特定的书写方式,具体的可以在xcode里面看API,改变不同的量,需要不同的KeyPath
第二种是改变UIView的宽高
下面我们来介绍一下关键帧动画的使用
其中的 position 表示的是位置的变化
关键帧动画可以管理视图按照我们写好的一系列的变化进行,而且可以控制每个变化之间的时间间隔
当然,我们可以在最后设置视图停止的位置,这样设置并不会和关键帧冲突,系统会先执行动画,在动画结束的时候会执行我们写的限制条件
例如,我们可以在最后写视图的停止位置
view.frame = CGRectMake(50, 450, 100, 100);
下面我们说一下过渡动画
过渡动画,就是之视图按我们设计的方向进行移动,但是不是真正的移动,有点类似于翻书的效果
由于过渡动画的效果持续的时间比较短,我们仅仅只是运行的话看不到效果,我们可以将过渡动画写到button的点击事件里
击事件里
动画数组的方法不是很好实现,有可能是两种动画的效果会发生冲突.
在我们编程的过程中,会有很多地方使用到动画,起到锦上添花的作用.