IOS中使用CATransition创建动画方法

为以后总结ios开发工具类的备份,首先要在framework中引入QuatrtzCore.framework,在头文件中需要

#import <QuartzCore/QuartzCore.h>

//.h 文件

-(void)createAnimation:(double) duration fillMode:(NSString *)model Type:(NSString *)type

subType:(NSString *)subtype removedOnCompletion:(BOOL)completion animationView:(id)view forkey:(NSString *)key;

//.m文件

-(void)createAnimation:(double)duration fillMode:(NSString *)model Type:(NSString *)type subType:(NSString *)subtype removedOnCompletion:(BOOL)completion animationView:(id)view forkey:(NSString *)key{



CATransition *animation =[CATransitionanimation ];



//是否代理

//animation.delegate = self;

//动画时间 double类型

[animation setDuration:duration];

//动画结束方式

[animation setFillMode:model];



/*动画类型

kCATransitionFade;

kCATransitionMoveIn;

kCATransitionPush;

kCATransitionReveal;

*/

[animation setType:type];

/*动画进入方式

kCATransitionFromRight;

kCATransitionFromLeft;

kCATransitionFromTop;

kCATransitionFromBottom;

*/

[animation setSubtype:subtype];

/*动画时间控制

UIViewAnimationCurveEaseInOut, // slow at beginning and end

UIViewAnimationCurveEaseIn, // slow at beginning

UIViewAnimationCurveEaseOut, // slow at end

UIViewAnimationCurveLinear



animation.timingFunction = UIViewAnimationCurveEaseInOut;

*/

//是否在当前层完成动画

[animation setRemovedOnCompletion:completion];

//动画事件

[view addAnimation:animation forKey:key];

//释放内存

animation =nil;

//return animation;



}

其中 

animationView:(id)view 是根据传入的对应的属性去创建动画如:

[self.window.layer addAnimation:animation forKey:key];

 



posted @ 2012-03-21 15:35  EdwardLau  阅读(5124)  评论(0编辑  收藏  举报