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的点击事件里

击事件里


动画数组的方法不是很好实现,有可能是两种动画的效果会发生冲突.

在我们编程的过程中,会有很多地方使用到动画,起到锦上添花的作用.







posted @ 2015-01-28 21:30  NSJELLY  阅读(143)  评论(0编辑  收藏  举报