如何使用曲线为 NSView 设置动画

How do I animate NSView with curve

我知道如何使用 +[NSAnimationContext runAnimationGroup:completionHandler:]NSView 对象设置动画,但我看不到在此类动画上设置动画曲线的方法。我看到 NSAnimation 有一个包含 NSAnimationCurve 参数的 init 方法,但我无法弄清楚如何使用此方法指定动画期间实际发生的情况。 NSAnimation 的文档真的很难理解,我找不到任何示例。因此,如果有人可以解释我如何向 NSAnimationContext 动画添加曲线或在 NSAnimation 动画中指定动画,那将非常有帮助。提前致谢!

您要查找的是timingFunction

您可以在 runAnimationGroup 块内设置它:

NSAnimationContext.currentContext.timingFunction = …

并使用 predefined functions 或创建您自己的控制点。

Swift 的版本:

NSAnimationContext.current.timingFunction = .init(name: .linear)