资讯专栏INFORMATION COLUMN

iOS动画编程-Layer动画[ 6 ] 高级时间控制Advanced Timing

hikui / 1313人阅读

摘要:动画相比动画程序员能控制的东西显然多了很多在时间控制我们不仅能实现中这样控制动画曲线的办法还有更多的可以自定义的地方这里我们就来共同来学习一下动画曲线的时间控制有一组预先定义好的用于控制动画曲线的函数线性变化的级别实现开始较慢结束时变化快的

UIView动画相比,Layer动画程序员能控制的东西显然多了很多,在时间控制我们不仅能实现UIViewAnimationOption中CurveEaseInOut/CurveEaseIn/CurveEaseOut/CurveLinear这样控制动画曲线的办法,还有更多的可以自定义的地方
这里我们就来共同来学习一下动画曲线的时间控制

CAMediaTimingFunction

CAMediaTimingFunction有一组预先定义好的用于控制动画曲线的函数

kCAMediaTimingFunctionLinear 线性变化, UIViewAnimationOptionCurveLinear的Layer级别实现

kCAMediaTimingFunctionEaseIn 开始较慢,结束时变化快,UIViewAnimationOption CurveEaseIn的Layer级别实现

kCAMediaTimingFunctionEaseOut 与kCAMediaTimingFunctionEaseIn相反,开始较快,结束时变化慢,UIViewAnimationOptionCurveEaseOut的Layer级别实现

kCAMediaTimingFunctionEaseInEaseOut 开始与结束时变化慢,中间变化较快,UIViewAnimationOptionCurveEaseInOut的Layer级别实现

我们可以将timingFunction作用在CAAnimation(及其子类)对象上

groupAnimation.timingFunction = CAMediaTimingFunction( name: kCAMediaTimingFunctionEaseIn)

CAMediaTimingFunction不仅可以通过字符串初始化为预先定义好的动画曲线,还可以创建自定义的动画曲线
通过添加控制点的方法,创建自定义动画曲线

CAMediaTimingFunction(controlPoints:(float)c1x :(float)c1y :(float)c2x :(float)c2y)
其他时间控制属性 重复动画

repeatCount 用于控制动画的重复次数

repeatDuration 用于控制总的重复时间

autoreverses 自动恢复原状

改变动画速度

speed 动画速度

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16224.html

相关文章

  • 什么是动画 无脑意译

    摘要:否则动画如下时间源函数在现实生活中是需要加速以及减速后进入匀速状态,动画需要尽量的真实需要引入时间参数方程来描述加速与减速的过程。代码如下注贝塞尔曲线是用来画平滑曲线用的。。。同时我们可以用组动画在同一时刻进行时间源函数控制。 前言 应用中的动画根据需求肯定不可能是一成不变的。 当动画进行不同的状态切换的时候我们需要接下来要做什么。与见见单单的两个屏幕画面跳转不同,动画需要告诉用户...

    Rango 评论0 收藏0
  • Animations开源动效分析(二)POP-Stroke动画

    摘要:是线性的动画,一条直线。也借用了类实现非线性动画。开始,系统大量引入了非线性动画。两者有一点区别,参考源码中的和动画参数详解动画今天我们来分析一下动画的源代码,首先中声明了一个是中心的圆,是一个定时器。所以总共使用了三个动画。 本教程源码Animations 作者 YouXianMing,建议配合源码项目食用 Facebook pop动画框架简易教程请移步 Facebook Pop ...

    ccj659 评论0 收藏0
  • iOS动画编程-Layer动画[ 4 ] Animation Keys and Delegates

    摘要:是中一种常用的模式,在动画中也是一样,我们可以通过实现对动画完成过程中开始结束时动作的控制如下是动画的两个代理方法使用方法也很简单,只需设置代理即可动画中的应用类支持编程,这意味着我们可以将他们作为对待通过这行代码,我们可以让简单的带上其作 Delegate Delegate是iOS中一种常用的模式,在动画中也是一样,我们可以通过Delegate实现对动画完成过程中开始、结束时动作的控...

    xiyang 评论0 收藏0
  • iOS动画编程-Layer动画[ 3 ] Basic Layer Animations

    摘要:动画编程动画期末考试这段时间再没有更新,过几天旅游回来多更几章介绍这节中主要介绍一些顾名思义属于动画中最简单的部分这里我们会通过将我们之前创建的登录页面的替换为来讲解第一个动画这里我们首先实现及用户名密码飞入屏幕的动画第一步移除中对它们位 iOS动画编程-Layer动画[ 3 ] Basic Layer Animations 期末考试这段时间再没有更新,过几天旅游回来多更几章 介绍 这...

    sushi 评论0 收藏0
  • 校招社招必备核心前端面试问题与详细解答

    摘要:本文总结了前端老司机经常问题的一些问题并结合个人总结给出了比较详尽的答案。网易阿里腾讯校招社招必备知识点。此外还有网络线程,定时器任务线程,文件系统处理线程等等。线程核心是引擎。主线程和工作线程之间的通知机制叫做事件循环。 showImg(https://segmentfault.com/img/bVbu4aB?w=300&h=208); 本文总结了前端老司机经常问题的一些问题并结合个...

    DevTalking 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<