在具有UIGestureRecognizer的视图中,不会调用UIBarButtonItem的操作

时间:2012-06-28 21:22:18

标签: ios uibarbuttonitem uitapgesturerecognizer

我有一个简单的UIViewController派生控制器,它有UITextFields。

同样使用IB,我放置了一个UIToolbar和两个UIBarButtonItems。我按住Ctrl键并拖动以向按钮添加操作。

- (IBAction)cancel:(id)sender { ... }
- (IBAction)save:(id)sender { ... }

如果我运行代码,则会调用操作。

问题:我想在背景上实现点击resignFirstResponder范例,所以我在根视图上添加了一个UITapGestureRecognizer:

- (void)viewDidLoad { 
    ...
    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];
    [self.view addGestureRecognizer:tap];
   }

当我有手势识别器时,不会调用UIBarButtonItems的操作

我怎么能双管齐下?

感谢任何可以帮助我实现此目的的解释。

1 个答案:

答案 0 :(得分:5)

我通过添加另一个视图并在该视图上设置手势识别器而不是根视图来解决问题。

但我仍然想知道为什么手势识别器会“吃掉”UIBarButtonItem的动作的解释。