用户通知在Mac上打开其他NSStatusItem菜单

时间:2012-02-27 16:50:17

标签: macos nswindow nsstatusitem

我正在编写一个位于菜单栏中的mac应用程序,并在用户单击状态项时向其显示NSPanel个实例。我想在打开另一个状态项的菜单时隐藏窗口。现在,我的小组保持开放;它看起来像这样:

My app is on the left, attached to the infinity status item

当其他状态项打开其菜单时,我看到其他类似的应用程序关闭,所以我想知道他们知道哪些通知会消失。我查看了NSWindowDelegateNSApplicationDelegate,但我没有看到生成任何通知。

有什么建议吗?

1 个答案:

答案 0 :(得分:4)

我明白了!在awakeFromNib中,我设置了NSPanel实例的属性。我使用以下内容:

[panel setStyleMask:panel.styleMask ^ NSTitledWindowMask];

将其切换为以下内容:

[panel setStyleMask:(panel.styleMask ^ NSTitledWindowMask ^ NSNonactivatingPanelMask)];

诀窍。我在阅读Neil Inglis' blog post后以类似的方式使用MAAttachedWindow时想出来了。