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

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

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

@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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jenkins自定义构建参数_git怎么切换分支

    jenkins自定义构建参数_git怎么切换分支前言当我们的自动化项目越来越多的时候,在代码仓库会提交不同的分支来管理,在用jenkins来构建的时候,我们希望能通过参数化构建git仓库的分支。下载安装GitParameter插件系统管理-

    2022年7月31日
    63
  • beanutils.copyproperties 深拷贝_properties线程安全吗

    beanutils.copyproperties 深拷贝_properties线程安全吗一BeanUtils.copyProperties是什么BeanUtils类全路径为org.springframework.beans.BeanUtils是spring-beans包下的一个用于bean相关工具类。BeanUtils.copyProperties(Objectsource,Objecttarget)这个方法的作用是把source这个bean的全部属性值复制到targe…

    2022年10月3日
    4
  • Circular buffer

    Circular buffer

    2022年1月16日
    51
  • jboss版本_输入法下载

    jboss版本_输入法下载昨天和今天到jboss区下载jboss4.0.4或者其他版本,没有一个下的了,太烂了,网站怎能这样,现在是什么时代呀,免费的或者收费的服务都应该要做的很好才是.感觉现在的软件的功能远远没有达到我心目中理想的位置,也不知何年何月我才对会软件的功能称好!也许软件就是这样吧,开发要成本,做得很好是几乎不可能的了.

    2022年9月28日
    4
  • ORA-29491: invalid table for chunking 错误记录[通俗易懂]

    ORA-29491: invalid table for chunking 错误记录[通俗易懂]大家在网上找的oracle这个包dbms_parallel_execute执行大数据量sql语句执行的时候,可能会遇到这个错误。刚开始我也挺困惑,后来发现了这个错误原因,记录下来可能给你帮助。dbms_parallel_execute.create_chunks_by_rowid(task_name=>vc_task,

    2025年6月2日
    3
  • java json 根据 key排序[通俗易懂]

    java json 根据 key排序[通俗易懂]阿里的JsonObject内部是用Hashmap来存储的,所以输出是按key的排序来的,如果要让JsonObject按固定顺序(put的顺序)排列,可以修改JsonObject的定义HashMap改为LinkedHashMap。publicJSONObject(){this.map=newLinkedHashMap();//newHashMap();…

    2025年10月6日
    5

发表回复

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

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