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

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

大家好,又见面了,我是全栈君。

@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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115597.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么是跨域?什么情况下会发生跨域请求?

    什么是跨域?什么情况下会发生跨域请求?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。同源策略:所谓同源是指:协议,域名,端口均相同。即便两个不同的域名指向同一个ip地址,也非同源。http://www.123.com/index.html调用http://www.123.com/server.php(非跨域)http://www.123.com/index.html调用http://www.456.com/server.php(主域名不同:123/456,跨域)http:/

    2022年5月29日
    60
  • linux tar命令详解_linux gzip命令

    linux tar命令详解_linux gzip命令搬运[置顶]:https://www.cnblogs.com/sui776265233/p/10185402.html通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就

    2022年8月3日
    4
  • 匹配滤波器及matlab仿真

    匹配滤波器及matlab仿真随机信号处理笔记:匹配滤波器——南京理工大学顾红老师的《随机信号处理》浅析文章目录随机信号处理笔记:匹配滤波器1.线性滤波器输出端信噪比2.匹配滤波器的传输函数和冲激响应2.1复函数的施瓦兹不等式2.2传输函数求解3.匹配滤波器的性质3.1匹配滤波器的最大峰值信噪比3.2匹配滤波器的幅频特性相频特性3.3匹配滤波器的物理可实现性3.4输出信号和噪声3.5匹配滤波器的时延适应性3.6匹配滤波器的频移不适应性3.7输出信号频谱与输入信号频谱关系4.匹配滤波器的信号处理SNR增益4.1matlab仿真匹配

    2022年6月1日
    49
  • 【经典算法大全】收集51种经典算法 初学者必备

    【经典算法大全】收集51种经典算法 初学者必备《经典算法大全》是一款IOS平台的应用。里面收录了51种常用算法,都是一些基础问题。博主觊觎了好久,可悲哀的是博主没有苹果,所以从网上下了老奔的整理版并且每个都手敲了一遍。虽然网上也有博客贴了出来,但是自己写写感觉总是好的。现在分享个大家。代码和运行结果难免有出错的地方,请大家多多包涵。 1.河内之塔(汉诺塔)2.费式数列3.巴斯卡三角形4.三色棋5.老鼠走迷宫(1

    2022年5月29日
    29
  • latex 包含的符号_LaTeX大括号

    latex 包含的符号_LaTeX大括号参考:"LaTex使用特殊章节符号(§)"LaTex使用特殊章节符号(§)在文件开头,加上以下内容:并在通过以下命令引用章节(section

    2022年8月4日
    4
  • Java实现数组反转

    Java实现数组反转Java实现数组反转实现思路:(1)初始化数组(2)定义方法实现反转数组(3)定义方法遍历数组(4)调用方法//数组反转publicclassArrayReverse{publicstaticvoidmain(String[]args){int[]arr={68,27,95,88,171,996,51,210};//数组例子,自行设置reverse(arr);printArray(arr);}

    2022年4月29日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号