ios - 在具有 UIGestureRecognizer 的 View 中时,不会调用 UIBarButtonItem 的操作

标签 ios uibarbuttonitem uitapgesturerecognizer

我有一个简单的 UIViewController 派生 Controller ,其中包含 UITextFields。

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

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

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

问题:我想实现点击背景以 resignFirstResponder 范例,因此我在 Root View 上添加了一个 UITapGestureRecognizer:

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

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

如何才能两全其美?

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

最佳答案

我通过添加另一个 View 并在该 View 而不是 Root View 上设置手势识别器解决了该问题。

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

关于ios - 在具有 UIGestureRecognizer 的 View 中时,不会调用 UIBarButtonItem 的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11253099/

相关文章:

ios - AVPlayerController : Full screen Autolayout issues

ios - 以编程方式更改 iOS UIBarButtonItem

ios - 在导航栏 iOS 上放置标签、按钮

ios - 如何更改 Swift 3 中 UISearchBar "cancel"按钮的颜色?

ios - 单击 DatePicker 时 UITapGestureRecognizer 不工作

iphone - 在主线程上安排一个低优先级的任务

ios - 存档验证错误 : Unsupported Architecture, 段对齐无效等 ~Jitsi Meet

swift - 在以编程方式创建的 UITextView 上捕获 UITapGesture

ios - 反编译 Objective-C .a 库

ios - swift |照片库打不开