如何防止UIView将触摸事件传递给UIView的superview?

时间:2013-12-01 06:04:32

标签: ios iphone objective-c cocoa-touch events

我在窗口中有一个UIViewController对象(bottomViewController),在UIView上有一个UIViewController对象(upperView)。有一些按钮({{1在buttonOne上{}},buttonTwobuttonThree)。 UIView有一个bottomViewController。 现在,我在UIGestureRecognizer上有一个触摸事件;触摸点位于按钮之外。 upperView会将事件传递给其超级视图(upperView)。

如何阻止bottomViewController将其无法响应的事件传递给其超级视图?

2 个答案:

答案 0 :(得分:0)

利用:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch

在UIGestureRecognizerDelegate

如果您应该接收,则返回YES,否则,根据您想要应用的逻辑。你有UITouch和UIGestureRecognizer,它们都包含很多有用的信息。

请记住将UIGestureRecognizer的委托设置为self。

答案 1 :(得分:0)

您可以为视图分配标签,然后检查是否有条件并将逻辑放入其中。