CAAnimationGroup
声明
class CAAnimationGroup : CAAnimation
分组动画在CAAnimationGroup实例指定的时间空间内运行。分组动画的持续时间不会缩放到它们的CAAnimationGroup的持续时间。相反,动画会被裁剪到动画组的持续时间。例如,持续时间为5秒的动画组中的10秒动画只显示动画的前5秒。
以下代码展示了如何创建包含不透明度和缩放动画的分组动画,以便在展开图层时使其淡出。动画开始时不透明度为1,所有轴上的比例为1。当动画的比例增加到(3,3,3),不透明度下降到0,动画层消失。
let fadeOut = CABasicAnimation(keyPath: "opacity")
fadeOut.fromValue = 1
fadeOut.toValue = 0
fadeOut.duration = 1
let expandScale = CABasicAnimation()
expandScale.keyPath = "transform"
expandScale.valueFunction = CAValueFunction(name: .scale)
expandScale.fromValue = [1, 1, 1]
expandScale.toValue = [3, 3, 3]
let fadeAndScale = CAAnimationGroup()
fadeAndScale.animations = [fadeOut, expandScale]
fadeAndScale.duration = 1
重要的动画数组中的动画的delegate和isRemovedOnCompletion属性目前被忽略。CAAnimationGroup委托接收这些消息。
属性
animations
在接收器的时间空间内计算的CAAnimation对象数组。
动画在接收器的时间空间中并发运行。