时间、时间空间、CAAnimation

本文深入探讨了CoreAnimation的基础及其提供的动画时间函数和高级时间线特性,详细解释了如何使用CAMediaTiming协议来定义动画的偏移、持续时间、速度和重复行为。同时,阐述了动画与层的时间空间概念,以及如何将动画时间映射到层定义的时间空间中。通过实例展示了动画速度属性的作用,如设置层动画为实际时间的一半,动画将呈现为一半的持续时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分解一个简单是动画,它只是在动画时间内简单的替换不同的值。Core Animation 为 animations 和layers提供了基础的时间函数,和高级的时间线特性。

 

media timing protocol

 

动画时间模型是用一个 CAMediaTiming 协议声明的,CAAnimation的类和它的子类都支持该协议。时间模型指定一个动画的 offset, duration, speed, and repeating behavior 。

 

CALayer 类同样也支持CAMediaTiming协议,运行一个layer相对于他的superlayer定义一个时间空间,类似于一个相当的坐标空间。This concept of a layer-tree timespace provides a scalable timeline that starts at the root layer, through its descendants. Since an animation must be associated with a layer to be displayed, the animation's timing is scaled to the timespace defined by the layer.(动画必须依附在一个layer上别显示,并且该动画的时间,被映射到定义该动画的layer的时间空间内)。

 

一个animation 或者 层的speed属性指定一个缩放比例。例如为层定义一个10秒的动画,该层的speed值为2,该动画将显示5秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值