zoukankan      html  css  js  c++  java
  • 视图自己定义旋转动画 相似百度音乐

    @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

  • 相关阅读:
    Oracle11gR2 INDEX FAST FULL SCAN 成本计算
    SELECT MIN(ID),MAX(ID) FROM TABLE 优化问题
    一次帮助网友优化的SQL案例
    Oracle11gR2 全表扫描成本计算(非工作量模式noworkload)
    & 符号在 SQLPLUS 的转义
    通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度
    [linux] 如何让你自己写的程序也支持自动补全(bash环境)
    linux 查看系统版本 命令
    ubuntu右键添加打开终端的快捷菜单
    ubuntu右键添加打开终端的快捷菜单
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5317369.html
Copyright © 2011-2022 走看看