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

  • 相关阅读:
    c#语音报时(含完整的声音资源文件).rar
    SQL 查看数据库表的容量大小
    c# 鼠标在控件上拖动 移动窗体 移动窗口
    C# winform 右下角弹出窗口结果
    Qt通用方法及类库8
    Qt通用方法及类库7
    Qt通用方法及类库6
    Qt通用方法及类库5
    Qt通用方法及类库4
    Qt通用方法及类库3
  • 原文地址:https://www.cnblogs.com/yxwkf/p/5317369.html
Copyright © 2011-2022 走看看