【问题标题】:MenuItem disabled after turning off the view关闭视图后禁用 MenuItem
【发布时间】:2016-03-02 19:39:52
【问题描述】:

我设置了一个项目,其中两个视图控制器连接到两个 xib(MainMenu.xib 和 MasterVC.xib)

在我的 MasterVC 中,我以编程方式将带有操作的 NSMenuItems(位于 MasterVC 中)添加到位于 MainMenu.xib(并连接到 AppDelegate)的菜单中。

let menuItem = NSMenuItem()
menuItem.title = object.name!
menuItem.keyEquivalent = object.shortcut!
menuItem.representedObject = object
menuItem.action = "testSelector:"
appDel.menu.insertItem(menuItem, atIndex: 0)

func testSelector(sender: NSMenuItem) {
    let object = (sender.representedObject as! MyNewObject)
    print("Name of set:", object.name)
}

只要我打开了 MasterVC 的窗口,我添加的菜单项就可以工作(已启用)。一旦我关闭它,我就无法点击那些菜单项(它们被禁用)。

有没有办法让它们一直处于启用状态?

【问题讨论】:

  • 关闭MasterVC后,哪个对象应该执行菜单命令?

标签: objective-c swift macos cocoa


【解决方案1】:

您需要在情节提要或 XIB 文件中执行两个步骤(以包含主菜单的为准):

1)

选择菜单后使用属性检查器,然后关闭“自动启用项目”复选框: ]

2)

对于您要启用的每个菜单项,选择该菜单项并使用属性检查器确保此复选框设置为打开: ]

【讨论】:

    猜你喜欢
    • 2010-11-30
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-23
    • 1970-01-01
    相关资源
    最近更新 更多