如何在导航视图控制器上滑动时进行即时转换

时间:2018-04-06 23:37:34

标签: swift xcode uinavigationcontroller uiswipegesturerecognizer

我有一个导航视图控制器设置,带有一个后退按钮,可在两个控制器之间切换。用户可以单击后退按钮或只是在屏幕上滑动以获得相同的行为。我要做的是避免用户启动左侧滑动,然后取消转换,停留在同一个控制器上,而不是回到第一个。

我知道block this transition有办法,但不建议这样做。我想要做的是立即执行转换。我已经在一些用户开始向左滑动的应用程序中看到过,滑动会立即执行,并且不会让他们选择在中途取消他们的过渡。如何执行此强制即时转换?

我认为它与调用interactivePopGestureRecognizer有关,但不知道如何处理它。

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一种方法来做到这一点。在viewDidDisappear中,我添加了以下内容:

navigationController?.popViewController(animated: true)

如果有人从左侧开始滑动,则会调用viewDidDisappear。即使他取消了转换,控制器仍然会弹出,强制返回根控制器。