我有一个touchesBegan:
方法可以正常工作。但是我最近在我的UIViewController中添加了一个UIView(一个按钮),现在按钮没有注册水龙头,但我的touchesBegan:
方法是。
如何告诉我的touchesBegan:
方法避开按钮?
以下是我当前的touchesBegan:
方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@"touches began");
UITouch *touch = [touches anyObject];
switch ([touch tapCount])
{
case 1:
break;
case 2:
if(something)
[doing something];
break;
default:
break;
}
}
答案 0 :(得分:1)
确保按钮位于前面([self.view bringSubviewToFront: myButton]
)。然后你可以询问它在视图中发生的触摸:
if ([touch.view isEqualTo: myButton]) {
NSLog(@"touch was on button");
}
答案 1 :(得分:0)
我遇到了同样的问题。当我将按钮移到前面时(在代码中通过UIViewController.bringSubviewToFront),当我点击按钮时,touchesBegan不再被触发。我在模拟器中运行Xcode 4.2。