【问题标题】:Can't disable UIBarButtonItem无法禁用 UIBarButtonItem
【发布时间】:2014-07-26 17:08:08
【问题描述】:

我正在将我的 UIBarButtonItem 实例化为我的类的属性:

var copyBarButtonItem: UIBarButtonItem {
    return UIBarButtonItem(title: "Copy", style: UIBarButtonItemStyle.Bordered, target: self, action: "copyButtonClicked:")
}

按钮已添加到我的工具栏:

var toolbarButtonItems:Array<UIBarButtonItem> = [spacer, self.copyBarButtonItem]
self.setToolbarItems(toolbarButtonItems, animated: false)

一切正常。唯一的问题是我无法禁用该按钮!

我试过了:

self.copyBarButtonItem.enabled = false

运气不好。我试过setEnabled 方法,但UIBarButtonItem 似乎不存在。

【问题讨论】:

  • 你不能禁用UIBarButtonItems。
  • 在 iPhone 上的邮件应用程序中,当单击“编辑”时,“移动”和“垃圾箱”工具栏项目被禁用。他们如何做到这一点?
  • 将色调颜色设置为灰色且不响应目标操作。

标签: ios swift cocoa-touch uibarbuttonitem


【解决方案1】:

您正在使用computed property。每次您的self.copyBarButtonItem 都会给出不同的实例。改为使用

var copyBarButtonItem: UIBarButtonItem = UIBarButtonItem(title: "Copy", style: UIBarButtonItemStyle.Bordered, target: self, action: "copyButtonClicked:");

您需要定义为stored properties。存储的属性只是swift中的变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多