UIScreenEdgePanGestureRecognizer 在 iOS 8 上不起作用

Posted

技术标签:

【中文标题】UIScreenEdgePanGestureRecognizer 在 iOS 8 上不起作用【英文标题】:UIScreenEdgePanGestureRecognizer not working on iOS 8 【发布时间】:2015-12-03 11:27:13 【问题描述】:

我的申请有问题。我想使用 UIScreenEdgePanGestureRecognizer 实现一些边缘屏幕手势。它在装有 ios 9 的设备上运行良好,但在 iOS 8 上却不行。识别器已添加到我的应用程序的根视图控制器的视图中。

我已经实现了UIGestureRecognizerDelegate协议但是方法

(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer

甚至没有被调用。

我认为它可能与另一个手势识别器连接,所以我实现了方法

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRequireFailureOfGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
    return NO;

但没有任何改变。

【问题讨论】:

我们可以再提供一些代码吗?你如何实例化你的 UIGetureRecognizer,像这样.. 我已经在故事板中将它添加到根视图控制器的视图中。 View 已将 userInteractionEnabled 设置为 YES。手势识别器连接到视图,它的委托也连接到视图控制器。 尝试将gestureRecognizer:shouldRequireFailureOfGestureRecognizer: 结果设置为YES。默认值已经是NO 试过了,没有任何变化。 我已经发布了答案 【参考方案1】:

问题解决了。

在代码中创建手势识别器而不是故事板工作......很奇怪,在故事板中添加的识别器在 iOS 9 上工作但在 iOS8 上不工作。我认为这是 Xcode 7.1.1 的错误。

【讨论】:

【参考方案2】:

选择屏幕边缘平移手势的属性检查器并选择任意边缘(上、左、下、右)。它将从情节提要中工作。

【讨论】:

以上是关于UIScreenEdgePanGestureRecognizer 在 iOS 8 上不起作用的主要内容,如果未能解决你的问题,请参考以下文章