2015-05-19 31 views
0

代码:为什么setPresentationOptions和LSUIElement不能一起使用?

[NSApp setPresentationOptions: NSApplicationPresentationHideMenuBar | NSApplicationPresentationHideDock]; 

它隐藏码头和菜单栏OSX。

当我添加密钥LSUIElement到我的Info.plist文件并重新运行我的代码:Dock是隐藏的,但MenuBar不隐藏。

为什么? 添加LSUIElement后如何隐藏MenuBar?

回答

2

那么,它应该永远,永远隐藏在主菜单中,使用LSUIElement在plist中是做的事情比同时使用setActivationPolicysetPresentationOptions,所以你可能想给[NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory]而不是拍摄的旧方式。

LSUIElement作业方式不支持运行时的更改。你在混合新旧。弃用LSUIElement并在OSX 10.9+上使用setActivationPolicy

有很多这方面的讨论。 This is a good answer。我写了一个关于如何切换到配件模式,当用户“退出”应用程序here,并使用运行时功能LSUIElement将打破的答案。所以不要使用它。

相关问题