iOS11 UIBarButtonItem不起作用

我有一个在商店生活的应用程序。 我正在尝试为iOS11发行版做好准备,但遇到了一个恼人的问题。

应用程序中的UIBarButtonItem都没有正常工作。 leftBarButtonItems是可点击的,但是点击区域稍微靠近该项目的右侧。 rightBarButtonItems根本不工作! 我已经通过故事板和通过代码添加了项目,但他们都没有工作。 请帮忙!

这是一个例子:

 navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("Save", comment: "save button title"), style: UIBarButtonItemStyle.plain, target: self, action: #selector(VC.rightBarButtonClicked(_:))) 

有同样的问题。 在UIButton的一个名为“UIButton + MinimumTouchArea.swift”的文件中,这个扩展名覆盖了UIButton.hitTest,并在iOS 11中打破了UIBarButtonItem。我们花了整整一天的时间来弄清楚!

iOS11 UIBarButtonItem操作未被调用

跑到了相同的解决scheme,我是用xcode 8.3而不是(与运行应用程序生成的ios11设备8.3工作很好)

在iOS 11中使用Xcode 8,您可以使用此解决方法来debuggingxcode 8.3上的ios11设备

是的,在iOS 11有错误,所以你可以使用另一种方式。

使用interactivePopGestureRecognizer就好

  self.navigationController?.interactivePopGestureRecognizer?.delegate = self as! UIGestureRecognizerDelegate 

并实现类似的委托方法

  func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { guard gestureRecognizer == interactivePopGestureRecognizer else { return true // default value } // Write you code here. }