嗨,我在iOS自定义视图中观察到一些奇怪的事情,其中我在自定义视图中有一个按钮,我正在寻找文档或您的答案来解释为什么我有这个观察结果。
我有一个自定义视图(UIView子类),它包含一个简单的按钮,我通过addTarget:Action和UITouchUpInside绑定了按钮触摸事件,我只是将选择器绑定到一个简单的方法,该方法NSLog一条消息。
如果您显示自定义视图并点击按钮,则可以在控制台中看到消息,一切都按预期工作。
但是,如果您向自定义视图添加UIGestureReognizer并运行它,则单击按钮时不再打印消息,为什么??? 我进行了更深入的调查,并查看了CUSTOM VIEW中的hittest方法(包含按钮的视图)(我覆盖它,但我什么也没做,我只是再次调用super),hittest返回正确的视图,即当我点击按钮时,自定义视图的hittest方法返回UIButton
我不理解这里的事件链,请问有人能指出解释这一点的文档吗?
对我来说,当您将regonizer添加到按钮的容器视图中时,由于某种原因,按钮不知道如何处理事件,因此它要求其父视图(在这种情况下为自定义视图)来处理它,但为什么?? 我已经通过UITouchUPInside将事件处理程序绑定到按钮
请帮忙解答,我想理解这个问题。