#import"ViewController.h"
@interfaceViewController()
@property(weak,nonatomic)IBOutletUIImageView*imageV;
@property(nonatomic,strong)NSTimer*timer;
@property(nonatomic,assign)BOOLonTransform;
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad];
self.onTransform=NO;
}
//翻轉(zhuǎn)
- (IBAction)fanzhuan:(id)sender {
//開始動畫
[UIViewbeginAnimations:@"doflip"context:nil];
//設(shè)置時長
[UIViewsetAnimationDuration:1];
[UIViewsetAnimationCurve:UIViewAnimationCurveEaseOut];//淡入淡出
[UIViewsetAnimationDelegate:self];
//設(shè)置旋轉(zhuǎn)方向
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.imageVcache:YES];//向上翻頁
//[UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.imageV cache:YES];//向下翻頁
//[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.imageV cache:YES];//沿中間軸旋轉(zhuǎn)
[UIViewcommitAnimations];
}
//旋轉(zhuǎn)
- (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];//指定動畫曲線類型,該枚舉是默認的,線性的是勻速的
//設(shè)置動畫時長
[UIViewsetAnimationDuration:1];
[UIViewsetAnimationDelegate:self];
//設(shè)置翻頁的方向
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.imageVcache:YES];
//關(guān)閉動畫
[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];//關(guān)閉動畫
}
//無限旋轉(zhuǎn)
-(void)transformAction{
self.onTransform=YES;
//創(chuàng)建一個CGAffineTransformtransform對象
CGAffineTransformtransform;
//設(shè)置旋轉(zhuǎn)度數(shù)
transform =CGAffineTransformRotate(self.imageV.transform,M_PI/20);
[self.imageVsetTransform:transform];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}