我有一个在商店里的应用程序。我正试图为iOS11发布做好准备,但遇到了一个恼人的问题。
应用程序中的UIBarButtonItem都没有正常工作。leftBarButtonItems是可点击的,但单击区域略位于项目的右侧。rightBarButtonItems根本不起作用!我已经添加了项目,通过故事板和代码,但他们似乎没有工作。请帮帮我!
以下是一个例子:-
navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("Save", comment: "save button title"), style: UIBarButtonItemStyle.plain, target: self, action: #selector(VC.rightBarButtonClicked(_:)))发布于 2017-09-22 08:34:51
也有同样的问题。这归结为我们的项目中一个名为"UIButton+MinimumTouchArea.swift“的文件在UIButton+MinimumTouchArea.swift上的一个扩展名,它覆盖了UIButton.hitTest,破坏了iOS 11中的UIBarButtonItem。我们花了整整一天才弄清楚!
发布于 2017-09-21 09:16:47
iOS11 UIBarButtonItem action not get called
遇到同样的情况,我的解决方案是用xcode 8.3构建(使用ios11运行应用程序构建8.3的设备效果很好)
Use Xcode 8 with iOS 11您可以使用此解决方案在xcode 8.3上调试ios11设备
发布于 2017-09-21 09:30:19
是的,iOS 11中有bug,所以您可以使用其他方法。
使用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.
}https://stackoverflow.com/questions/46278620
复制相似问题