#pragma mark 动画暂停- (void)pauseAnimation{// 1. 取出当前的动画的时间点,就是要暂停的时间点
CFTimeInterval pauseTime = [self.myView.layer convertTime:CACurrentMediaTime() fromLayer:nil];// 2. 设置动画的时间偏移量,指定时间偏移量的目的是让动画定格在该时间点
[self.myView.layer setTimeOffset:pauseTime];// 3. 将动画的运行速度设置为0,动画默认的运行速度是1.0
[self.myView.layer setSpeed:0.0];}#pragma mark 恢复动画- (void)resumeAnimation{// 1. 将动画的时间偏移量作为暂停时的时间点
CFTimeInterval pauseTime = self.myView.layer.timeOffset;// 2. 根据媒体时间计算出准确的启动动画时间,对之前暂停动画的时间进行修正
CFTimeInterval beginTime = CACurrentMediaTime() - pauseTime;// 3. 要把偏移时间清零
[self.myView.layer setTimeOffset:0.0];// 4. 设置图层的开始动画时间
[self.myView.layer setBeginTime:beginTime];[self.myView.layer setSpeed:1.0];}注意:
// 对于循环播放的动画效果,一定要将removedOnCompletion设置为NO,否则无法恢复动画
    [anim setRemovedOnCompletion:NO];#pragma mark 旋转动画- (void)rotationAnimation{// 1. 实例化基本动画// 默认按照z轴旋转
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];[self.myView.layer setAnchorPoint:CGPointMake(0, 0)];// 2. 设置动画属性// 不停的旋转// 1) 旋转一周
[anim setToValue:@(2 * M_PI)];// 2) 不停的旋转 - 动画循环播放// HUGE_VALF 是一个非常大得浮点数,指定此数值可以认为动画无限循环// MAXFLOAT
[anim setRepeatCount:HUGE_VALF];[anim setDuration:0.5f];// 3) 动画完成时删除// 对于循环播放的动画效果,一定要将removedOnCompletion设置为NO,否则无法恢复动画
[anim setRemovedOnCompletion:NO];// 3. 添加动画// key可以随便指定,用于判断图层中是否存在该动画
[self.myView.layer addAnimation:anim forKey:@"rotationAnim"];}

转载于:https://www.cnblogs.com/yyh123/p/3346439.html

核心动画--基本动画相关推荐

  1. 【Flutter】Animation 动画 ( Flutter 动画的核心类 | Animation | CurvedAnimation | AnimationController | Tween )

    文章目录 一.动画的核心类 Animation 二.动画的核心类 CurvedAnimation 三.动画的核心类 AnimationController 四.动画的核心类 Tween 五.相关资源 ...

  2. 【Flutter】Animation 动画 ( Flutter 动画类型 | Flutter 动画的核心类 )

    文章目录 一.Flutter 动画类型 二.Flutter 动画的核心类 三.相关资源 Flutter Animation 动画 : Flutter 动画类型 为 Widget 组件添加动画 为动画添 ...

  3. IOS开发基础之核心动画 基础动画、关键帧、组动画案例

    IOS开发基础之核心动画 基础动画.关键帧.组动画案例 案例源码在我的主页里.实现效果图 // // ViewController.m // 30-核心动画 // // Created by 鲁军 o ...

  4. OS开发UI篇—核心动画(基础动画)

    文顶顶 最新博文发布地址:花田半亩(wendingding.com) iOS开发UI篇-核心动画(基础动画) iOS开发UI篇-核心动画(基础动画) 一.简单介绍 CAPropertyAnimatio ...

  5. 2022-05-14 Unity核心7——2D动画

    文章目录 一.序列帧动画 二.骨骼动画 -- 2D Animation 三.反向动力学 IK 四.换装 五.骨骼动画 -- Spine 一.序列帧动画 (一)什么是序列帧动画 ​ 我们最常见的序列帧动 ...

  6. 学习动画制作动画哪家好

    在动画行业前景比较不错,预示着我过动画即将迎来新的高峰,那么提高我国动画行业的技术水平以及引进新时代特色就刻不容缓. 当然,既然市场前景非常不错,那在这场时代浪潮中,肯定会有几家突起,成都艺点动画就比 ...

  7. android+桌面文件夹动画,Android动画

    1.为什么要说动画? 动画的适用是Android开发常用的知识 种类繁多,适用复杂,很多实现需要自定义动画 2.目前Android中有多少种动画? 视图动画(View 动画) 属性动画 揭露动画(Re ...

  8. 【Flutter】Animation 动画 ( AnimatedBuilder 动画使用流程 | 创建动画控制器 | 创建动画 | 创建动画作用的组件 | 关联动画与组件 | 动画执行 )

    文章目录 ◯.AnimatedBuilder 引入 一.创建动画控制器 二.创建动画 三.创建动画作用的组件 四.创建 AnimatedBuilder 关联动画与组件 五.动画运行 六.完整代码示例 ...

  9. 【Flutter】Animation 动画 ( AnimatedWidget 动画使用流程 | 创建动画控制器 | 创建动画 | 创建 AnimatedWidget 动画组件 | 动画运行 )

    文章目录 ◯.AnimatedWidget 组件引入 一.创建 AnimatedWidget 动画组件 二.创建动画控制器 三.创建动画 四.动画运行 五.完整代码示例 六.相关资源 Animated ...

  10. 【Flutter】Animation 动画 ( Flutter 动画基本流程 | 创建动画控制器 | 创建动画 | 设置值监听器 | 设置状态监听器 | 布局中使用动画值 | 动画运行 )

    文章目录 一.创建动画控制器 二.创建动画 三.设置值监听器 四.设置状态监听器 五.布局中使用动画值 六.动画运行 七.完整代码示例 八.相关资源 Flutter 动画基本流程 : ① 创建动画控制 ...

最新文章

  1. 论坛报名 | “她时代”来临,AI科技女性将如何影响世界
  2. Liferay7 BPM门户开发之5: Activiti和Spring集成
  3. 什么是Scala的收益?
  4. 入门 打印出“hello, world”
  5. 代码练习 用户注册登陆与密码加密
  6. Cause: java.sql.SQLException: Invalid parameter object type. Expected 'com.jd.sns.biz.api.domain.Plu
  7. 用SQL Server Compact Edition创建移动应用程序 【转载】
  8. Masuit.Tools,一个免费的轮子
  9. 转义字符html识别吗,HTML_谈谈html转义字符如何通过代码识别,偶尔会在数据中看到诸如#3 - phpStudy...
  10. 网页中相对布局和绝对布局的理解
  11. 图论--最小生成树总结(PrimKruskal)
  12. Google 投资 Lyft 背后、AlphaGo Zero 人工智能威胁论?
  13. ENVI入门系列教程---一、数据预处理---5. 图像自动配准
  14. Elasticsearch自动补全(拼音查询自动补全)
  15. php 递归函数 示例,php递归使用示例(php递归函数)
  16. 数据中台-标签体系介绍
  17. 单机java游戏2D冒险_那些年,我们一起追的2D横版过关单机游戏
  18. When I started loving myself 当我开始爱自己 ——查理·卓别林
  19. 可以添加Google adsense广告和阿里妈妈的博客汇总
  20. 区块链公司依靠电信主网颠覆汇款行业

热门文章

  1. java word转html 乱码 poi,java word转html poi
  2. Caused by: java.lang.IllegalStateException: StandardEngine[Tomcat].StandardHost[localhost].TomcatEmb
  3. java用map集合实现随机抽奖源码
  4. 《剑指offer》全解(图文结合,通俗易懂,一篇看爽)
  5. Collection源码阅读
  6. Playfab开发(一)如何调用PlayFab接口
  7. 算法题 如何找到数组中重复的数字
  8. C++使用openssl实现aes加解密,其中加密是string到文件,解密是文件到string,切合项目背景
  9. 英语口语-文章朗读Week9 TuesDay
  10. JAVA牛客专项练习2020.12.31