如何同时为不同的Core Animation图层添加动画效果?

时间:2015-09-03 01:26:30

标签: objective-c core-animation

我目前正尝试在iOS上使用Core Animation实现动画。现在我可以使用CAAnimationGroup将多个动画应用到单个图层,但是如果我想在各个不同的层中重复这些动画 - 同时---事情变得模糊。

目前看起来CAAnimationGroup是一个单例类(或者至少,我似乎只获得一个实例,并使用[CAAnimationGroup动画]进行分配。

有什么想法吗?

Hashable

2 个答案:

答案 0 :(得分:0)

您可以创建动画或动画组并将其添加到多个图层。

    CABasicAnimation* fadeIn = [CABasicAnimation animationWithKeyPath:@"opacity"];
    fadeIn.duration = 0.35;
    fadeIn.fromValue = [NSNumber numberWithDouble:0];
    fadeIn.toValue = [NSNumber numberWithDouble:1];
    for (int i = 0; i < self.indicatorBars.count; i++) {
        [self.indicatorBars[i] addAnimation:fadeIn forKey:@"opacity"];
    }

答案 1 :(得分:0)

我可以使用CAAnimationGroup在单个图层上应用多个动画,但是如果我想在各个不同的图层上重复播放动画,那么同时会变得朦胧。

单个动画组可以为不同命名子层的属性设置动画。

例如,假设我有一个带有两个子层的层。第一子层的name"manny",第二子层的name"moe"。假设我要分别为两个子层的position设置动画。

然后我将keyPath的{​​{1}}用于一个动画,并将"sublayers.manny.position"的{​​{1}}用于一个动画,将它们分组,然后将其附加到超层。