在 Swift 中创建滑动转场

Creating a sliding segue in Swift

我正在尝试在两个视图控制器之间创建一个 segue/transition,"slides" 到下一个视图控制器。我所说的 "slide" 的意思是它只移动了平移手势(类似于 Snapchat)。如果你能帮我解决这个问题或者给我指出正确的方向,那就太好了。

该效果是使用 iOS7 中引入的自定义交互式过渡实现的。以下是一些可供查看的教程:


当我实现这个时,我发现,为了可重用性,最好有一个 UIPercentDrivenInteractiveTransition 的子类(我们称之为 TransitionManager)来实现协议 UIViewControllerTransitioningDelegateUINavigationControllerDelegateUIViewControllerAnimatedTransitioning

- 然后,如果您需要使用自定义过渡以模态方式呈现 UIViewController:在 prepareForSegue 中设置:

destinationViewController.modalPresentationStyle = .Custom
destinationViewController.transitioningDelegate  = TransitionManager()

- 如果您使用的是 UINavigationController 则更简单,您只需设置 UINavigationControllerdelegate 到你的 TransitionManager

希望您在完成教程后开始理解这些内容。