【问题标题】:Is there a way to set the number of animation steps for CABasicAnimation?有没有办法为 CABasicAnimation 设置动画步数?
【发布时间】:2011-08-23 05:08:56
【问题描述】:

我想创建一个动画,它在 2 秒内插入一些属性,CoreAnimation 框架只需生成 20 帧(表示层)。我知道如何为显式动画提供持续时间,但我必须更改哪个属性才能获得通过插值过程计算的特定帧数?

提前致谢。

【问题讨论】:

    标签: iphone core-animation calayer cabasicanimation


    【解决方案1】:

    Core Animation 无法实现您想要的。它绘制图层的次数取决于程序的帧速率。

    【讨论】:

    • 感谢您的回复。我喜欢这样,但 CAKeyFrameAnimation 在我看来是创建具有更多控制权的动画的好方法。
    • 我知道您如何在对另一个答案的回复中做您想做的事情。抱歉我的回答不好。
    【解决方案2】:

    核心动画通过使用插值来工作——计算您指定的键值之间的中间值。如果它是关键帧动画,它会在值数组中的值数 (n) 之间进行插值。如果它是一个基本动画,它会在两个值之间进行插值——你的开始值和结束值。如果你只是想改变动画实例的帧率,请通过这个How to change the frame rate of a core animation instance?

    【讨论】:

    • 感谢您的回答,看来我找到了解决此问题的方法。我创建了 CAKeyframeAnimation 并为它的计算模式属性设置了 kCAAnimationDiscrete。在这种情况下,CA 实际上不会进行插值,但它会根据值数组通过逐步降低的步骤来更改值。步骤数取决于我在该数组中放入了多少元素。所以我会说你的答案“几乎”是正确的。我是stackoverfow的新手。在这种情况下,通常的做法是什么?我应该在未经他人许可的情况下编辑他人的帖子吗?
    猜你喜欢
    • 1970-01-01
    • 2011-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    相关资源
    最近更新 更多