为以后总结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];