iOS动画之CAValueFunction

CAValueFunction

提供了定义动画转换的灵活方法的对象。

声明
class CAValueFunction : NSObject

您可以使用值函数来指定动画转换的各个组件。例如,要创建一个绕z轴从0°到180°旋转图层的基本动画,需要创建一个CABasicAnimation对象,fromValue为0,toValue为pi, valueFunction为CAValueFunction。

以下代码展示了如何创建这样一个旋转,并将其应用到名为rotatingLayer的CALayer:

let rotateAnimation = CABasicAnimation()
rotateAnimation.valueFunction = CAValueFunction(name: .rotateZ)
rotateAnimation.fromValue = 0
rotateAnimation.toValue = Float.pi
rotateAnimation.duration = 3
rotatingLayer.add(rotateAnimation,
                  forKey: "transform")

对于单独的x, y和z分量,值函数缩放和平移需要3个值。当使用这些值函数时,你可以将动画的fromValue和toValue指定为数组。

以下代码展示了如何使用值函数使层的缩放从0到1进行动画处理:

let scaleAnimation = CABasicAnimation()
scaleAnimation.valueFunction = CAValueFunction(name: .scale)
scaleAnimation.fromValue = [0, 0, 0]
scaleAnimation.toValue = [1, 1, 1]
scaleAnimation.duration = 3
scalingLayer.add(scaleAnimation,
                 forKey: "transform")
获得价值函数属性
name

返回值函数的名称。

创建和初始化值功能
init(name:)

方法标识的值函数对象的名字。

name的可能值在旋转值函数、缩放值函数和转换函数中指定。

旋转

  • rotateX 以X轴旋转
  • rotateY 以Y轴旋转
  • rotateZ 以Z轴旋转

缩放

  • scale 整体缩放
  • scaleX X轴缩放
  • scaleY Y轴缩放
  • scaleZ Z轴缩放

位移

  • translate 整体位移
  • translateX 沿X轴位移
  • translateY 沿Y轴位移
  • translateZ 沿Z轴位移
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值