使用UIGestureRecognizer传递奇怪的ios触摸事件

时间:2012-09-06 08:05:32

标签: ios uigesturerecognizer hittest uiresponder

嗨,我在iOS自定义视图中观察到一些奇怪的东西,我在自定义视图中有一个按钮,我正在寻找文档或你的答案来解释我为什么会有这个观察

我有一个自定义视图(UIView的子类),它包含一个简单的按钮,我通过addTarget绑定按钮触摸事件:使用UITouchUpInside操作,我只是将它选择器绑定到NSLog消息的简单方法

如果您显示自定义视图并点击按钮,您可以在控制台中看到该消息,一切都按预期工作。

但是,如果您将UIGestureReognizer添加到自定义视图并运行它,当您单击该按钮时,它不再打印该消息,为什么??? 我做了更深入的调查,并通过查看最简单的方法在自定义视图(视图包含按钮)(我覆盖它,但我没有做任何事情,我只是再次调用超级),最热门的是返回正确的视图,即当我点击按钮时,自定义视图的hittest方法返回UIButton

我不明白这里的事件链,是否有人指出解释这个的文档?

在我看来,当你将regonizer添加到按钮的容器视图时,由于某种原因,按钮不知道如何处理事件,所以它要求它的superview(在这种情况下的自定义视图)来处理它, 但为什么??我已经通过UITouchUPInside将事件handeler绑定到按钮

请帮助我想了解这个

1 个答案:

答案 0 :(得分:0)

将识别器的cancelsTouchesInView属性设置为NO