默认的interactivePopGestureRecognizer仅在屏幕左边缘从左向右滑动时才有效。我希望能够通过在屏幕上的任何位置滑动来执行此手势。像Reddit,Slack和Twitter这样的应用已经实现了这个手势,所以我知道这是可能的。
到目前为止,我已使用滑动手势self.navigationController.popViewControllerAnimated(true)
成功弹出到之前的VC,但是在滑动过程中它没有显示顶部堆栈。此操作会立即快速动画转换到其他堆栈。我希望动画类似于默认设置,并在手指被拖过屏幕时慢慢“剥离”堆栈。这让我相信可以用平移手势来做到这一点,但是我不确定如何慢慢地将当前视图控制器移出框架并在翻译期间显示下一个堆栈。
编辑:解决方案
答案 0 :(得分:0)
我认为这比建议的解决方案容易,并且也适用于该导航内的所有viewController以及嵌套的滚动视图。
https://stackoverflow.com/a/58779146/8517882
只需安装吊舱,然后使用EZNavigationController
而不是UINavigationController
来使该导航控制器内的所有视图控制器具有此行为。