`

CAAnimation

阅读更多


CAAnimation采用了CAMediaTiming协议,可以调整时间,包括持续时间,速度,重复次数;采用了CAAction协议,可以通过响应动作的方式来显示动画.

CAAnimation的一些派生类:

CATransition 提供渐变效果:(推拉push效果,消退fade效果,揭开reveal效果)

CAAnimationGroup 允许多个动画同时播放
CABasicAnimation 提供了对单一动画的实现
CAKeyframeAnimation 关键桢动画,可以定义行动路线
CAConstraint 约束类,在布局管理器类中用它来设置属性
CAConstraintLayoutManager 约束布局管理器,是用来将多个CALayer进行布局的.各个CALayer是通过名称来区分,而布局属性是通过CAConstraint来设置的.
CATransaction 事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务.

2.图层动画

Quartz Core 的能力远远不止一个简单的画板式图层。图层转场增强了现有的 CATransition 类,为其提供了一种方法,能用Quartz Core 的动画引擎来添加动画。CATransition 这个类是用来实现layer transition的动画效果的。我们需要预先设置动画的时间(setDuration ),需要的动画类型(setType 和setSubtype )。当图层含有动画的时候,一个(只能) CATransition 或CAAnimation 对象会被附加在图层上。一般可以使用CATransition模拟UIView的动画。


CATransition动画使用了类型type和子类型subtype两个概念。type属性指定了过渡的种类(淡化、推挤、揭开、覆盖)。subtype设置了过渡的方向(从上、下、左、右)。另外,CATransition私有的动画类型有(立方体、吸收、翻转、波纹、翻页、反翻页、镜头开、镜头关)。

转自http://milodream.diandian.com/post/2012-05-23/21370606

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics