• 视图自己定义旋转动画 相似百度音乐


    @interface FirstViewController ()

    @property (nonatomic,assign)BOOL isplay;

    @end




    @implementation FirstViewController

    @synthesize isplay;


    - (void)viewDidLoad

    {

        [super viewDidLoad];

        isplay = NO;

        //圆角

        self.imgview.layer.cornerRadius = 150.0 / 2.0;

        self.imgview.layer.masksToBounds = YES;

        

        //加入动画

        CABasicAnimation *monkeyAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];

        monkeyAnimation.toValue = [NSNumber numberWithFloat:2.0 *M_PI];

    monkeyAnimation.duration = 1.5f;

    monkeyAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];

        monkeyAnimation.cumulative = NO;

        monkeyAnimation.removedOnCompletion = NO; //No Remove

        monkeyAnimation.repeatCount = FLT_MAX;

    [self.imgview.layer addAnimation:monkeyAnimation forKey:@"AnimatedKey"];

        [self.imgview stopAnimating];

        

        // 载入动画 但不播放动画

        self.imgview.layer.speed = 0.2;

        

    }


    - (void)didReceiveMemoryWarning

    {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }


    //開始动画

    - (IBAction)startAnimate:(id)sender {

        if (!isplay) {

            isplay = YES;

            self.imgview.layer.speed = 1.0;

            self.imgview.layer.beginTime = 0.0;

            CFTimeInterval pausedTime = [self.imgview.layer timeOffset];

            CFTimeInterval timeSincePause = [self.imgview.layer convertTime:CACurrentMediaTime() fromLayer:nil] - pausedTime;

            self.imgview.layer.beginTime = timeSincePause;

        }

        

        

    }

    //停止动画并保存当前的角度

    - (IBAction)stioAnimate:(id)sender {

        if (isplay) {

            isplay = NO;

            CFTimeInterval pausedTime = [self.imgview.layer convertTime:CACurrentMediaTime() fromLayer:nil];

            self.imgview.layer.speed = 0.0;

            self.imgview.layer.timeOffset = pausedTime;

        }


    }

    @end

  • 相关阅读:
    关于element-ui表格样式设置的方法cell-class-name
    Js中JSON.stringify()与JSON.parse()与eval()详解及使用案例
    Bootstrap switch 切换状态踩坑
    字符串数组去重
    java效率取随机不重复数
    List 的add()与addAll()的区别
    在HTML中限制input 输入框只能输入纯数字
    抽象类继承接口
    IOC容器之Autofac
    浅拷贝和深拷贝
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5317369.html
Copyright © 2020-2023  润新知