【发布时间】:2014-07-28 03:23:48
【问题描述】:
我的应用程序在菜单栏中显示一个图标,但是当应用程序退出时,该图标从菜单栏中消失。
我们有没有办法编写代码,使应用程序即使退出也总是在菜单栏中显示。
谢谢。
【问题讨论】:
-
我已经实现了一个菜单栏图标,但是一旦我退出我的应用程序,它就会从菜单栏中消失。即使我退出了,我也想知道如何始终启用它。
-
你不能这样做,它没有多大意义。如果应用程序退出,图标会做什么?如果用户退出您的菜单栏应用程序,他们希望这会使图标消失。这就是他们放弃它的原因。如果图标不应该消失,请不要退出应用程序(但如果您阻止用户这样做,则希望他们会生气)。
-
谢谢肯。但是我想制作这样的防病毒图标,即使应用程序不存在于 Dock 中,它也始终保留在菜单栏中。
-
如果您不希望应用程序的图标出现在 Dock 中,您通常会将其设为 UI 元素(在其 Info.plist 文件中设置
LSUIElement)。如果您希望它有时有一个 Dock 图标,有时没有,我建议您将其拆分为独立的、互操作的部分:一个位于菜单栏中的 UI 元素和一个显示在 Dock 中的单独的普通应用程序。在 OS X 10.9 及更高版本中,您可以使用-[NSApplication setActivationPolicy:]在 UI 元素和常规应用程序之间来回切换。 (方法文档说你不能,但发行说明记录了新功能。)
标签: objective-c macos cocoa