如何避免UIView触摸手势重叠

时间:2012-04-05 11:32:28

标签: objective-c ios cocoa-touch

我在另一个使用UITouchGesture的视图之上有一个UIView。问题是触摸事件在大多数前向UIView以及后台的UIView中被识别。我希望触摸事件仅适用于最后面的视图。

希望这是有道理的。

感谢您的帮助

3 个答案:

答案 0 :(得分:4)

view.userInteractionEnabled = NO;

视图是最前沿的UIview。

祝你好运!

答案 1 :(得分:3)

我可以看到你这样做的最好方法是在你的视图中声明UITouchGesture,当你需要在视图中禁用触摸时你可以禁用:

点按的示例:

在您的.h文件中声明:

UITapGestureRecognizer* tap;

在你的.m文件中

tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[yourView addGestureRecognizer:tap];

当你需要禁用水龙头时,你可以很简单:

[tap setEnable:NO];

或删除它:

[yourView removeGestureRecognizer:tap];

当您需要启用/禁用时,您将更容易管理您的触摸。

Reference

答案 2 :(得分:1)

检查[gesture view]是否等于[[self.view subviews] objectAtIndex:0]并执行任何操作。