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

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

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

@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)
上一篇 2022年2月2日 上午10:00
下一篇 2022年2月2日 上午10:00


相关推荐

  • WebService技术详解 (一)

    WebService技术详解 (一)WebServiceWe 简介 WebService 技术 能使得运行在不同机器上的不同应用无须借助附加的 专门的第三方软件或硬件 就可相互交换数据或集成 依据 WebService 规范实施的应用之间 无论它们所使用的语言 平台或内部协议是什么 都可以相互交换数据 简单的说 WebService 就是一种跨编程语言和跨操作系统平台的远程调用技术 所谓跨编程语言和跨操作平台

    2026年3月26日
    2
  • 2026年OpenClaw全流程部署指南:从环境搭建到智能服务上线

    2026年OpenClaw全流程部署指南:从环境搭建到智能服务上线

    2026年3月13日
    2
  • uml的14种图_uml有几种图

    uml的14种图_uml有几种图目录什么是UML?为什么要用UML?UML图有哪些?UML图概览什么是类图?泛化(Generalization)实现(Realization)关联(Association)聚合(Aggregation)组合(Composition)依赖(Dependency)什么是组件图?什么是部署图?什么是对象图?什么是包图?什么是组合结构图?什么是轮廓图?什么是用例图?什么是活动图?什么是状态机图?什么是序列图?什么是通讯图?什

    2025年8月8日
    5
  • Feign 基本使用

    Feign 基本使用文章目录 Feign 概述什么是 FeignFeign 入门案例引入依赖 Feign 接口编写 Controller 结果 Feign 工作原理 FeignClient 注解 在开发 SpringCloud 微服务的时候 我们知道 服务之间都是以 HTTP 接口的形式对外提供服务的 因此消费者在进行调用的时候 底层就是通过 HTTPClient 的这种方式进行访问 当然我们可以使用 JDK 原生的 U

    2026年3月19日
    1
  • 贪心算法

    贪心算法

    2021年12月4日
    45
  • 在Java Web项目中引入Mondrian多维分析框架

    在Java Web项目中引入Mondrian多维分析框架

    2021年8月31日
    81

发表回复

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

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