我可以控制两个视图控制器之间的转换(即通过用户滑动)吗?

Can I control the transition (ie through user swiping) between two view controllers?

我希望有一个视图控制器在用户拖动时滑出屏幕,用户可以来回拖动他们的手指来控制转换。

我知道自定义过渡是可能的,想知道这是否可能?

是的。

一个可能的解决方案可能是 UIPageViewController

是的,使用手势识别器来启动自定义转换并更新交互控制器(例如 UIPercentDrivenInteractiveTransition)。具体取决于转换是模态还是导航控制器。

  • 对于presentViewController,您的目标视图控制器需要指定一个自定义过渡类型并指定一个transitioningDelegate。这个UIViewControllerTransitioningDelegate既可以指定动画控制器也可以指定交互控制器

  • 对于导航控制器,您可以指定导航控制器的 delegate,并且可以实现 UINavigationControllerDelegate 方法来指定动画和交互控制器。

请参阅 WWDC 2013 视频 Custom Transitions Using View Controllers,其中对此进行了非常详细的讨论。