ios - 屏幕上任何位置的默认 interactivePopGestureRecognizer

标签 ios swift uigesturerecognizer swipe uipangesturerecognizer

默认的 interactivePopGestureRecognizer 仅当您在屏幕的左边缘从左向右滑动时才有效。我希望能够通过在屏幕上的任意位置滑动来执行此手势。 Reddit、Slack 和 Twitter 等应用程序已经实现了这个手势,所以我知道这是可能的。

到目前为止,我已经使用滑动手势 self.navigationController.popViewControllerAnimated(true) 成功弹出到之前的 VC,但是它在滑动期间不显示顶部堆栈。此操作执行到另一个堆栈的即时且快速的动画转换。我希望动画类似于默认动画,并在手指在屏幕上拖动时慢慢“剥离”堆栈。这使我相信可以使用平移手势来执行此操作,但是我不确定如何将当前 View Controller 慢慢移出框架并在转换过程中显示下一个堆栈。

编辑:解决方案

这是解决方案:https://stackoverflow.com/a/35510861/9159691

最佳答案

我认为这比建议的解决方案更容易,并且也适用于该导航内的所有 viewController 以及嵌套的 ScrollView 。

https://stackoverflow.com/a/58779146/8517882

只需安装 pod,然后使用 EZNavigationController 而不是 UINavigationController 即可在该导航 Controller 内的所有 View Controller 上实现此行为。

关于ios - 屏幕上任何位置的默认 interactivePopGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50196254/

相关文章:

ios - Firebase Crashlytics 无法报告崩溃

ios - CIColorMatrix 数学没有意义

ios - 如何通过按导航栏按钮访问选项卡栏项目

ios - 如何在 Alamofire 中实现自签名证书?

ios - 仅在触摸有颜色的部分时才拖动对象或 ImageView

android - 移动设备上的视口(viewport)元标记问题

ios - 如何在 Realm Swift 中将子类添加到 List<superclass>

arrays - 创建除一项之外的所有项目循环以应用效果

ios - 如何从一个手势识别器转到另一个手势识别器

ios - UIPinchGestureRecognizer。放大手指的位置,而不仅仅是居中