美文网首页
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