美文网首页
iOS开发动画(Animation)总结

iOS开发动画(Animation)总结

作者: 孟维学 | 来源:发表于2016-07-22 11:54 被阅读70次

#import"ViewController.h"

@interfaceViewController()

@property(weak,nonatomic)IBOutletUIImageView*imageV;

@property(nonatomic,strong)NSTimer*timer;

@property(nonatomic,assign)BOOLonTransform;

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

self.onTransform=NO;

}

//翻转

- (IBAction)fanzhuan:(id)sender {

//开始动画

[UIViewbeginAnimations:@"doflip"context:nil];

//设置时长

[UIViewsetAnimationDuration:1];

[UIViewsetAnimationCurve:UIViewAnimationCurveEaseOut];//淡入淡出

[UIViewsetAnimationDelegate:self];

//设置旋转方向

[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.imageVcache:YES];//向上翻页

//[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.imageV cache:YES];//向下翻页

//[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.imageV cache:YES];//沿中间轴旋转

[UIViewcommitAnimations];

}

//旋转

- (IBAction)xuanzhuan:(id)sender {

if(self.onTransform) {

[self.timerinvalidate];

self.timer=nil;

self.onTransform=NO;

}else{

self.timer=[NSTimerscheduledTimerWithTimeInterval:.2target:selfselector:@selector(transformAction)userInfo:nilrepeats:YES];

[self.timerfire];

}

}

//偏移

- (IBAction)pianyi:(id)sender {

[UIViewbeginAnimations:@"move"context:nil];

[UIViewsetAnimationDuration:2];

[UIViewsetAnimationDelegate:self];

//改变它的frame的x,y的值

self.imageV.frame=CGRectMake(100,100,120,100);

[UIViewcommitAnimations];

}

//翻页

- (IBAction)fanye:(id)sender {

[UIViewbeginAnimations:@"curlUp"context:nil];

[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];//指定动画曲线类型,该枚举是默认的,线性的是匀速的

//设置动画时长

[UIViewsetAnimationDuration:1];

[UIViewsetAnimationDelegate:self];

//设置翻页的方向

[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.imageVcache:YES];

//关闭动画

[UIViewcommitAnimations];

}

//缩放

- (IBAction)suofang:(id)sender {

CGAffineTransformtransform;

transform =CGAffineTransformScale(self.imageV.transform,1.2,1.2);

[UIViewbeginAnimations:@"scale"context:nil];

[UIViewsetAnimationDuration:2];

[UIViewsetAnimationDelegate:self];

[self.imageVsetTransform:transform];

[UIViewcommitAnimations];

}

//取反

- (IBAction)qufang:(id)sender {

CGAffineTransformtransform;

transform=CGAffineTransformInvert(self.imageV.transform);

[UIViewbeginAnimations:@"Invert"context:nil];

[UIViewsetAnimationDuration:2];//动画时常

[UIViewsetAnimationDelegate:self];

[self.imageVsetTransform:transform];//获取改变后的view的transform

[UIViewcommitAnimations];//关闭动画

}

//无限旋转

-(void)transformAction{

self.onTransform=YES;

//创建一个CGAffineTransformtransform对象

CGAffineTransformtransform;

//设置旋转度数

transform =CGAffineTransformRotate(self.imageV.transform,M_PI/20);

[self.imageVsetTransform:transform];

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

@end

相关文章

网友评论

      本文标题:iOS开发动画(Animation)总结

      本文链接:https://www.haomeiwen.com/subject/cxdijttx.html