禁用ios应用程序的滑动功能,将其移动到上一屏幕

禁用ios应用程序的滑动功能,将其移动到上一屏幕,ios,objective-c,Ios,Objective C,我认为这是ios中的操作系统级功能,使用它,用户只需将当前视图滑动到右侧,就可以返回到上一个屏幕。它只需要触摸视图的左边缘并将其向右移动即可。您可以在下面的屏幕截图中看到它 问题是,它导致登录用户只需从左向右滑动屏幕即可注销,尽管登录屏幕上没有任何后退按钮。这严重影响了我的应用程序的整体功能 有人知道如何在刷卡时禁用此向后移动功能,并将其限制为仅返回按钮吗?在视图控制器中使用此代码 Swift 5 if navigationController?.responds(to: #selector(

我认为这是ios中的操作系统级功能,使用它,用户只需将当前视图滑动到右侧,就可以返回到上一个屏幕。它只需要触摸视图的左边缘并将其向右移动即可。您可以在下面的屏幕截图中看到它

问题是,它导致登录用户只需从左向右滑动屏幕即可注销,尽管登录屏幕上没有任何后退按钮。这严重影响了我的应用程序的整体功能


有人知道如何在刷卡时禁用此向后移动功能,并将其限制为仅返回按钮吗?

在视图控制器中使用此代码

Swift 5

if navigationController?.responds(to: #selector(UINavigationController.interactivePopGestureRecognizer)) ?? false {
    navigationController?.interactivePopGestureRecognizer?.isEnabled = false
}
目标C

if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
希望此代码对您有用。

SWIFT


self.navigationController?.interactiveepogesturerecognizer?.isEnabled=false
我们可以在iOS 7及更高版本上禁用或启用

在UIKit框架中

因此,您只需通过为navigationController设置true或false来禁用手势

一旦启用或禁用,将影响每个屏幕的交互手势

self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false

无需评论@DarshanKunjadiya,他已经收到您的通知answer@ViruMax感谢您对upvote的支持。这非常有效,但由于
touchsbegind
事件没有在ViewController周围约15磅边界内的控件上触发,这让我有些难过。任何不在VC边界上的东西都可以正常工作。有什么想法吗?请补充一些解释,为什么你认为这是一个正确的解决方案。因为这已经被标记为上面的正确答案,但Darshan只为objC写了答案,我把Swift版本放在这里。现在我看到有人编辑了Darshan的答案并添加了Swift 5版本。
self.navigationController?.interactivePopGestureRecognizer?.isEnabled = false