2013-12-13 26 views
1

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

无论如何要添加一个标准的编辑菜单的某个地方,并启​​用将重定向到它的命令键?我认为可能会让应用程序暂时活跃或破坏,但我无法解决任何问题。

谢谢。

回答

4

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

您需要放回主菜单。

如果您使用版本控制,则可以使用该控件重新启动它。如果不是,你将不得不创建一个新项目,从你的主菜单笔尖(如果你还有一个的话)拷贝任何东西到那个项目中,然后将这个笔尖移动到你的实际项目中作为你的新主菜单笔尖。

编辑菜单命令,与窗口有关的命令(例如关闭)以及许多其他命令都存在于主菜单中。如果删除主菜单,则不再具有这些功能。

您的主菜单在UI元素应用程序中不可见,但这不是删除它的理由 - 这是保留它的原因,即使您的应用程序没有菜单栏也是如此,因为不可见是指它不会从幕后偷看,但会保持在那里,保持键盘快捷键的魔力。

+1

你是对的,UI代理可以有一个隐藏的主菜单。实际上问题并不在于它在NIB中被删除,但是当我复制/粘贴菜单时,编辑菜单中的所有操作都在InterfaceBuilder中被删除。感谢您指点我正确的方向。 – GenericPtr

相关问题