我有一个UIViewController,我正在将主视图添加到主视图中。主视图有一个UIGestureRecogniser,每个子视图也有一个UIGestureRecognizer。在界面构建器中,我已在属性检查器中检查已取消,因此我希望子视图上的点击仅在子视图处理程序中触发我的gestureRecognizerShouldBegin,但它们也会触发附加到它们所在视图的处理程序。
有谁知道为什么会出现这种情况?
我想我可以保留附加到每个子视图的GestureRecogniser的特定实例的句柄,并比较被触发的事件是否来自正确的识别器,但这似乎不是正确的解决方案。任何帮助都会很有用。
编辑:第二个解决方案甚至不起作用,似乎每个符合当前手势的UIGestureRecogniser都被解雇了!
编辑: 我提出的最佳解决方案是,
(BOOL)gestureRecognizer :( UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { if([view isEqual:[touch view]]&& self.editing) 返回YES;
返回NO; }
我希望手势根本不接受触摸