【问题标题】:How can I combine multiple CAKeyframeAnimations into single keyframe animation?如何将多个 CAKeyframeAnimations 组合成单个关键帧动画?
【发布时间】:2010-11-04 06:27:05
【问题描述】:

说我要合并transform

CAKeyframeAnimation *animation = [CAKeyframeAnimation
   animationWithKeyPath:@"transform"];

opacity

CAKeyframeAnimation *animation = [CAKeyframeAnimation
   animationWithKeyPath:@"opacity"];

进入关键帧动画。如何组合和指定每个关键帧的变换/不透明度值?

【问题讨论】:

    标签: iphone cocoa-touch core-animation calayer


    【解决方案1】:

    像你一样创建两个动画,对它们使用相同的keyTimes,然后将它们都添加到具有addAnimation:forKey: 的层中。就这么简单。

    【讨论】:

    • 我以为他们迟早会失去同步,因为他们彼此不了解......这真的是最好的方式吗?
    • 使用CAAnimationGroup组合多个CAKeyframeAnimation是否可能/更好?
    • 当然,用 CAAnimationGroup 将它们分组,如果你有更多的动画效果会更好。 CAAnimationGroup 仅适用于一层,因此如果您使用更多层制作动画,请使用 CATransaction 对它们进行分组。
    • 不管怎样,主线程中总会有一个 CATransaction 设置,所以即使你不以任何方式对动画进行分组,它们也会被分组。仅当您创建更多动画时才需要分组,每个动画都具有不同的属性,如时间......
    • 这里有一些文档对此进行了详细描述:developer.apple.com/library/mac/documentation/Cocoa/Conceptual/… 向下滚动到“同时为多个更改设置动画”
    猜你喜欢
    • 1970-01-01
    • 2015-04-01
    • 2017-05-22
    • 2017-06-25
    • 2013-03-20
    • 2018-03-28
    • 2019-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多