使用Core Animation,可以为几个CALayers分组动画。要实现这个功能,可以使用CALayer
的add
方法将需要分组的动画添加到一个CAAnimationGroup
对象中。
以下是一个简单的示例代码:
// 创建一个 CAAnimationGroup 对象
let animationGroup = CAAnimationGroup()
// 创建一个 CABasicAnimation 对象
let basicAnimation = CABasicAnimation(keyPath: "position.x")
basicAnimation.fromValue = 0
basicAnimation.toValue = 100
// 创建另一个 CABasicAnimation 对象
let basicAnimation2 = CABasicAnimation(keyPath: "position.y")
basicAnimation2.fromValue = 0
basicAnimation2.toValue = 100
// 将两个 CABasicAnimation 对象添加到 CAAnimationGroup 对象中
animationGroup.animations = [basicAnimation, basicAnimation2]
// 设置动画的时长
animationGroup.duration = 2.0
// 将 CAAnimationGroup 对象添加到需要分组动画的 CALayer 对象中
layer1.add(animationGroup, forKey: "groupAnimation")
layer2.add(animationGroup, forKey: "groupAnimation")
在这个示例中,我们创建了一个CAAnimationGroup
对象,并将两个CABasicAnimation
对象添加到其中。然后,我们将CAAnimationGroup
对象添加到需要分组动画的CALayer
对象中。这样,当我们执行这个动画时,两个CALayer
对象将同时执行分组动画。
领取专属 10元无门槛券
手把手带您无忧上云