显示Mac OS X系统NSMenu而不是默认值

时间:2013-01-22 19:38:13

标签: macos cocoa nsmenu

我想知道是否有办法摆脱启动默认Mac OS X应用程序时获得的默认NSMenu,而是显示Finders / Systems NSMenu。

(尽管可能很糟糕,设计明智)

1 个答案:

答案 0 :(得分:2)

如果某个应用程序在其Info.plist中仅作为背景标记(LSUIElement),则其菜单栏将永远不会显示在屏幕上,因为该应用程序永远不会被视为最前端。这也将导致应用程序不显示在Dock中,也不会显示在其他几个标准位置(应用程序切换器,强制退出窗口等)。如果您决定采用这种方式,您的应用程序通常应该提供某种替代用户界面来显示它正在运行并允许用户退出它(例如,在菜单栏中添加NSStatusItem

话虽如此,您的应用程序的菜单栏应该始终包含一些项目,无论是否显示,包括:

  • 退出,​​隐藏应用程序/隐藏其他人/全部显示
  • 关闭窗口
  • 撤消,剪切/复制/粘贴,全选

这是因为这些菜单项具有常用的键盘快捷键,用户可以随时使用这些快捷键(例如,Cmd + X / C / V用于剪切/复制/粘贴)。