【问题标题】:Using edit menu commands from menu bar app使用菜单栏应用程序中的编辑菜单命令
【发布时间】:2013-12-14 11:37:29
【问题描述】:

我有一个仅从菜单栏运行的应用程序(LSUIElement 在 info.plist 中设置),这意味着除了我附加到状态项的菜单之外没有主菜单。问题是我想在使用 NSTextView 时启用一些编辑命令(如 command-c 复制),但所有命令键似乎都被禁用,因为应用程序在技术上不活动(我在尝试任何组合键时都会发出哔哔声)。

是否有在某处添加标准编辑菜单并启用将重定向到它的命令键?我在想可能有一个黑客可以让应用暂时处于活动状态或其他什么,但我无法弄清楚任何事情。

谢谢。

【问题讨论】:

    标签: cocoa


    【解决方案1】:

    他们没有被禁用。它们消失了,因为你删除了它们。

    您需要放回主菜单。

    如果您使用版本控制,您可以使用它从过去恢复它。如果没有,您必须创建一个新项目,从主菜单笔尖(如果您还有一个)复制任何自定义内容到该笔尖,然后将该笔尖移动到您的实际项目中作为新的主菜单笔尖。

    编辑菜单命令、与窗口相关的命令(例如关闭)和许多其他命令都位于主菜单中。如果您删除主菜单,您将不再拥有这些功能。

    您的主菜单在 UI 元素应用程序中不可见,但这不是删除它的理由 - 这是保留它的理由,即使您的应用程序没有菜单栏,因为不可见意味着它不会从窗帘后面窥视,但会保持在那里,让您的键盘快捷键的魔力发挥作用。

    【讨论】:

    • 你说得对,UI 代理可以有一个隐藏的主菜单。实际上问题不在于它在NIB中被删除,而是当我之前复制/粘贴菜单时,编辑菜单中的所有操作都在InterfaceBuilder中被删除。感谢您为我指明正确的方向。
    • 今天我能够通过创建一个新项目并将菜单复制并粘贴到我的 xib 中来解决这个问题。不需要从我现有的 xib 中复制任何东西等等。
    猜你喜欢
    • 2014-08-05
    • 1970-01-01
    • 2017-05-15
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    相关资源
    最近更新 更多