标签:
caanimationcatransitionios动画 |
|
现在明白了,要做动画。需要用到CATransition类!
那就学习一下吧!
先贴一个入门代码!
[_imgPic setImage:p_w_picpath];// 设置新的图片
CATransition *animation = [CATransition animation];
[animationsetDuration:1.0];
[animationsetFillMode:kCAFillModeForwards];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[animationsetType:@"rippleEffect"];// rippleEffect
[animationsetSubtype:kCATransitionFromTop];
[_imgPic.layer addAnimation:animation forKey:nil];
实现功能就是,在UIImageView换新图片的时候,做相应的动画效果!好让,UIImageView转化时,不至于太单调!
第一句,就让我很困惑!
CATransition *animation = [CATransition animation];
+ (id)animation方法
创建一个CATransition对象。但是CATransition并没有animation方法?!
@interface CATransition :CAAnimation
原来如此,CATransition是CAAnimation的子类
骑驴看唱本吧!
CAAnimation类
CAAnimation类,是一个抽象类。遵循CAMediaTiming协议和CAAction协议!
CAAnimation
is an abstract animation class.
It provides the basic support for the CAMediaTiming
and CAAction
protocols.
CAMediaTiming协议
可以调整时间,包括持续时间,速度,重复次数。
CAAction协议
可以通过响应动作的方式来显示动画。
CAAnimation有很多派生类
CATransition提供渐变效果:(推拉push效果,消退fade效果,揭开reveal效果)。
CAAnimationGroup允许多个动画同时播放。
CABasicAnimation提供了对单一动画的实现。
CAKeyframeAnimation关键桢动画,可以定义行动路线。
CAConstraint约束类,在布局管理器类中用它来设置属性。
CAConstraintLayoutManager约束布局管理器,是用来将多个CALayer进行布局的.各个CALayer是通过名称来区分,而布局属性是通过CAConstraint来设置的。
CATransaction事务类,可以对多个layer的属性同时进行修改.它分隐式事务,和显式事务。
CAAnimation属性
delegate
@property(retain) id delegate
为CAAnimation设置代理。默认为nil。
注意:一个CAAnimation实例,不能设置delegate为self。会引起循环引用。
removedOnCompletion
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。