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 事件不起作用