是否可以控制NSViewController转换的持续时间和计时功能?

时间:2018-05-07 21:09:56

标签: core-animation transitions nsviewcontroller

我正在使用NSViewControllertransition(from:to:options:completionHandler:)。它工作得很漂亮,但现在我想要更多控制(如自定义timing function)。

这可能吗?或者它是否需要另一种方法来在视图控制器之间进行转换?

1 个答案:

答案 0 :(得分:0)

是的,如果您在动画组中捕获它,则可以修改动画上下文:

NSAnimationContext.runAnimationGroup({ context in
    context.duration = 3

    parentController.transition(from: childA, to: childB: options: yourOptions, completionHandler: yourCompletionHandler)
})

不幸的是,似乎修改上下文的timingFunction属性并没有做任何事情。

对于OS X 10.11及更早版本,您可以使用此垫片: https://gist.github.com/BenLeggiero/63f84d5f7fd8c9b3c9501d1b68110983