首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未调用iOS11 UIBarButtonItem操作

未调用iOS11 UIBarButtonItem操作
EN

Stack Overflow用户
提问于 2017-08-29 07:26:46
回答 6查看 3.6K关注 0票数 7

我使用Xcode9 Beta6来构建项目,动作在iOS10设备上被正确调用,但是它不能在iOS11设备上工作。

在我的项目中,有一些顶部有UIToolBar的viewControllers,toolBar包含一些UIBarButtonItems。

有一个这样的viewController,当我点击UIBarButtonItem时,它的UIBarButtonItem操作不会被调用。我可以看到点击动画(图标先变暗,松开手指后恢复正常)

viewDidLoad的末尾,我打印了toolbar.items的信息,以指示目标操作已正确设置。

Debug Output

EN

回答 6

Stack Overflow用户

发布于 2018-03-15 00:59:12

在我的示例中,我设置了按钮并将其实例化为vc的属性。

代码语言:javascript
复制
class myVC: UIViewController {
let closeBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(close(_:)))
}

如果我把它移到ViewDidLoad,问题就解决了

代码语言:javascript
复制
class myVC: UIViewController {
override func viewDidLoad() {
    super.viewDidLoad()
    let closeBarButtonItem = UIBarButtonItem(image: image, style: .plain, target: self, action: #selector(close(_:)))
}

}

票数 4
EN

Stack Overflow用户

发布于 2017-09-06 22:40:37

我通过从视图中删除当前的手势识别器并添加一个新的手势识别器解决了这个问题。然后我打开视图的连接检查器,将gestureRecognizer连接添加到我的手势识别器中。

票数 3
EN

Stack Overflow用户

发布于 2017-09-19 01:23:17

苹果公司已经确认了这一缺陷。我的临时解决方案是通过移除重叠区域来更改手势识别器区域,这样点击手势就不会阻止UIBarButtonItem上的点击事件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45928626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档