导航项的点击或触摸事件有时不会被触发

Navigation Item's click or touch event sometimes does not being fired

大部分时间导航栏中的导航项工作正常。 在用户点击屏幕之前隐藏导航栏。
使用 [[self navigationContoller] setNavigationBarHidden:YES/NO animated:YES]

移动导航栏 但是,有时导航项不会触发内部事件。
这是其中之一的片段。
[self.button addTarget:self action:@selector(someFunc) forControlEvents:UIControlEventTouchUpInside]

按钮动画淡出,就像被触摸一样好,但事件没有被触发。
但是当我通过点击屏幕使导航栏再次隐藏和出现时,导航项再次正常工作。

有什么问题?我完全不知道。
预先感谢您的帮助。

我使用 UITapGestureRecognizerUIImageView 解决了这个问题。
我使用 UIImageViewUITapGestureRecognizer 添加了默认 UIBarButtonItem 和自定义 UIBarButtonItem 到 navigationBar 进行测试。然后当我再次遇到问题时,默认的 UIBarButtonItem 没有响应,但是自定义的 UIBarButtonItem 可以正常工作。

这是我的示例代码。

UIImage buttonImage = [UIImage imageNamed:@"buttonImage" inBundle:[NSBundle mainBundle] compatibleWithTraitCollection:nil];
UIImageView buttonImageView = [[UIImageView alloc] initWithImage:buttonImage];
UITapGestureRecognizer buttonTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(targetFunction)];
[buttonImageView addGestureRecognizer:buttonTapGesture];
UIBarButtonItem *bbiButton = [[UIBarButtonItem alloc] initWithCustomView:buttonImageView];