Ios 轻敲屏幕使当前控制器返回到上一个控制器
每次单击视图控制器顶部的某个位置时,它都会返回到上一个视图。根控制器不受影响,因为它也没有任何要返回的内容。但我的所有视图控制器都会受到影响。(请阅读更新3) 我尝试过的事情:Ios 轻敲屏幕使当前控制器返回到上一个控制器,ios,objective-c,uistoryboardsegue,xcode10,Ios,Objective C,Uistoryboardsegue,Xcode10,每次单击视图控制器顶部的某个位置时,它都会返回到上一个视图。根控制器不受影响,因为它也没有任何要返回的内容。但我的所有视图控制器都会受到影响。(请阅读更新3) 我尝试过的事情: 寻找不必要的手势识别器。(结果:我检查列表时收到零。) 我想我可能是不小心在视图中添加或留下了一个IBOutlet之类的东西。(结果:没有不必要的IB出口。) 我从一个视图中禁用了用户交互,以查看它是否会受到影响。(结果:在我再次启用用户交互之前,错误似乎消失了。) 我试着做了一些研究,但没有得到我想要的结果 点击绿线上
旁注:这就是我测试它的方式。我创建了一个新项目(我认为语言不重要)。该项目有两个视图控制器;一个按钮,每个按钮的segue指向每个视图控制器。Segue 1的类型为“当前模态”,过渡为“部分旋度”。Segue 2位于第二视图控制器上,其类型为“显示(如推送)”。要测试错误,请沿屏幕顶部轻按。如果该错误起作用,则应显示部分卷曲过渡,但方向相反,并将用户发送回第一视图控制器。可能您正在体验来自导航控制器的标准回扫手势。就是这样,请尝试以下代码: 目标C:
if ([self.navigationController respondsToSelector:@selector(interactivePopGestureRecognizer)]) {
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
}
斯威夫特:
navigationController?.interactivePopGestureRecognizer?.isEnabled = false
我在我的两个控制器上的viewDidLoad方法中键入了代码。它似乎不起作用。这可能是一个长期的尝试,但有可能在任何类型的用户交互上有一个通用断点吗?例如:当用户点击一个UI元素或类似的东西时中断。这是一个众所周知的带有部分卷曲的bug。有关更多信息和解决方案,请参见复制。