我正在编写一个位于菜单栏中的 mac 应用程序,并在用户NSPanel
单击状态项时向他们展示一个实例。每当打开另一个状态项的菜单时,我想隐藏窗口。现在,我的面板保持打开状态;它看起来像这样:
当另一个状态项打开其菜单时,我看到像我这样的其他应用程序关闭,所以我想知道他们知道哪个通知会消失。我查看了NSWindowDelegate
and NSApplicationDelegate
,但没有看到任何通知正在生成。
有什么建议吗?
我正在编写一个位于菜单栏中的 mac 应用程序,并在用户NSPanel
单击状态项时向他们展示一个实例。每当打开另一个状态项的菜单时,我想隐藏窗口。现在,我的面板保持打开状态;它看起来像这样:
当另一个状态项打开其菜单时,我看到像我这样的其他应用程序关闭,所以我想知道他们知道哪个通知会消失。我查看了NSWindowDelegate
and NSApplicationDelegate
,但没有看到任何通知正在生成。
有什么建议吗?
我想到了!在 中awakeFromNib
,我正在设置我的NSPanel
实例的属性。我正在使用以下内容:
[panel setStyleMask:panel.styleMask ^ NSTitledWindowMask];
将其切换为以下内容:
[panel setStyleMask:(panel.styleMask ^ NSTitledWindowMask ^ NSNonactivatingPanelMask)];
成功了。在阅读了Neil Inglis关于以类似方式使用 MAAttachedWindow的博客文章后,我明白了这一点。