代码:
[NSApp setPresentationOptions: NSApplicationPresentationHideMenuBar | NSApplicationPresentationHideDock];
它隐藏Dock和MenuBar OSX。
当我将键LSUIElement添加到Info.plist文件中并重新运行代码时:Dock是隐藏的,但MenuBar没有隐藏。
为什么?添加LSUIElement后如何隐藏MenuBar?
好吧,它应该永远隐藏主菜单,但在plist中使用LSUIElement
是一种比同时使用setActivationPolicy
和setPresentationOptions
更古老的操作方式,因此您可能需要尝试使用[NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]
。
LSUIElement
的做事方式不支持在运行时进行更改。你把旧的和新的混在一起了。在OSX 10.9+上弃用LSUIElement
并使用setActivationPolicy
。
有很多关于这方面的讨论。这是一个很好的答案。我在这里写了一个关于当用户"退出"应用程序时如何切换到附件模式的答案,该应用程序使用LSUIElement
会破坏的运行时功能。所以不要使用它。