XCode/iOS:将 UIGestureRecognizerDelegate 添加到 UIViewController 后,Storyboard Segue 事件不起作用

Posted

技术标签:

【中文标题】XCode/iOS:将 UIGestureRecognizerDelegate 添加到 UIViewController 后,Storyboard Segue 事件不起作用【英文标题】:XCode/iOS: Storyboard Segue event does not work after adding UIGestureRecognizerDelegate to UIViewController 【发布时间】:2012-02-22 19:02:07 【问题描述】:

我有两个场景(SceneA 和 SceneB)和两个自定义 UIViewController 实现的简单故事板。 SceneA 有一个按钮,该按钮带有到 SceneB 的 segue(模态)。到目前为止它工作得很好:应用程序从 SceneA 开始,按下按钮会翻转到 SceneB。

在下一步中,我将添加到 ViewController 实现中,因为我想在自定义 UIViewController 实现中检测 SceneA 上的特定手势(单击/滑动/等)。这就是问题所在。

在测试中,手势被检测到并且 UI 做出相应的响应,但是 segue 不再起作用。我怀疑手势识别器“吞下了”会触发 segue 的事件,但我不确定如何解决。有没有一种简单的方法可以将事件委托或冒泡到情节提要?

(我想另一种方法是检测点击事件并以编程方式执行转场,但如果可能的话,我更喜欢某种形式的委托。)

[XCode 4.2.1 | ios SDK 5.0 | iPhone 5.0 模拟器]

【问题讨论】:

【参考方案1】:

创建手势识别器时,将cancelsTouchesInView 属性设置为NO。默认情况下,这设置为 YES。

【讨论】:

完美!它按预期工作(并且修复也非常简单)。将更多地研究手势识别器的 API 以了解其内部工作原理。谢谢!

以上是关于XCode/iOS:将 UIGestureRecognizerDelegate 添加到 UIViewController 后,Storyboard Segue 事件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何将文本字段添加到警报视图? Xcode 4.5 iOS6

XCode/iOS:将 UIGestureRecognizerDelegate 添加到 UIViewController 后,Storyboard Segue 事件不起作用

如何将 armv7s 架构添加到 xcode 7 / ios 9 中的静态库?

Xcode9~iOS11初体验 无线调试

如何自动将内部版本号添加到 Xcode ios 存档

xCode ios 如何将可变数组写入桌面上的文件?