我正在经历这种奇怪的行为。
我创建一个干净的项目(视图模板),添加一个带有按钮的工具栏并将其与动作挂钩。有用 ;) 但是,当我向视图控制器的视图添加UITapGestureRecognizer时,工具栏按钮停止工作。 (它被按下但其动作未被调用) 当我添加UITapGestureRecognizer时,只调用链接到它的动作。就像uitapgesture识别器视图隐藏了工具栏但实际上并非如此。
这里发生了什么?我错过了什么?
- (IBAction)itemAction{
NSLog(@"%s", _cmd);
self.view.backgroundColor = [UIColor whiteColor];
}
- (void) tapAction{
NSLog(@"%s", _cmd);
self.view.backgroundColor = [UIColor greenColor];
}
- (void)viewWasTapped:(UITapGestureRecognizer *)recognizer{
if (recognizer.state == UIGestureRecognizerStateRecognized) {
[self tapAction];
}
}
- (void)viewDidLoad {
[super viewDidLoad];
UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewWasTapped:)];
[tapGestureRecognizer setNumberOfTapsRequired:1];
[self.view addGestureRecognizer:tapGestureRecognizer];
[tapGestureRecognizer release];
}
编辑:项目来源可以从here
下载提前感谢任何建议
伊格纳西奥
答案 0 :(得分:0)
我遇到了类似的问题,发现this回答很有帮助,特别是因为它允许根据触摸的视图类型选择性地排除手势识别器。
答案 1 :(得分:0)
最终我找到了原因:
tapGestureRecognizer.cancelsTouchesInView = NO;