OSX:如何"取消隐藏"状态栏项目?

hol*_*ow7 5 macos cocoa menu status nsstatusbar

好的我有一个状态菜单应用程序,其中包含"隐藏"菜单项.

点击"隐藏"来电:

[[NSStatusBar systemStatusBar] removeStatusItem:statusItem]
Run Code Online (Sandbox Code Playgroud)

这当然会从状态栏中删除我的应用程序,即使它仍在运行.

当用户在Applications文件夹中"打开"我的应用程序时,我希望将我的应用程序重新添加到系统状态栏中.问题是我无法在"ApplicationDidFinishLaunching"中插入代码片段,因为应用程序已经打开.所以我该怎么做?

小智 3

您可以使用-applicationDidBecomeActive:,但您需要区分应用程序在隐藏后变为活动状态的情况以及在用户切换到其他应用程序而不隐藏您的应用程序后变为活动状态的情况。