减缓 Push Segue 的转换

Slowing Down Transition of Push Segue

我想知道是否有办法像 Tinder 和 Snapchat 那样减慢 'push segue & back' 的速度。这就像正常的 segue,但它以某种方式缓慢过渡。

我通常通过在 Storyboard 上设置推送通知并以编程方式调用转场来处理推送转场 (单击 NavBarItem 并将转场推送到新的 UIViewController):

func settingsTapped() {
    performSegueWithIdentifier("NewsToSettings", sender: nil)
}

有办法

I was wondering if there is a way to slow down 'push segue & back' like Tinder & Snapchat does. It's like normal segue but it's somehow transiting slowly.

如您所知,您只需编写自定义过渡动画即可。给导航控制器一个委托并实现 navigationController:animationControllerForOperation:fromViewController:toViewController:。基本上,您只需提供一个实现 UIViewControllerAnimatedTransitioning 协议的对象。作为其中的一部分,您可以指定动画持续时间。

enable slowing down segue globally for the whole app?

如果您所有的导航控制器都具有相同的委托,或者如果所有委托都提供相同的 UIViewControllerAnimatedTransitioning 对象,则所有推送/弹出转换都将使用相同的代码并以相同的方式工作。