对于其他应用程序,例如Dropbox和1Password,当您单击顶部栏中的NSStatusItem时打开的弹出窗口会自动隐藏(然后重新显示)如果您使用F3打开Exposé/ Mission Control来切换空格。
这是如何实现的?我无法找到一个很好的方式来监听F3事件,就像你可以进行左/右点击一样,尽管启用了辅助功能访问{1}},1Password也能正常工作。
思想?
答案 0 :(得分:0)
这不是一个好的答案,但我最终放弃了NSPopover。 NSWindow有一个属性'collectionBehavior',它控制NSWindow相对于其他空间和Exposé的行为。我想要的行为(以及我在1Password和Dropbox中注意到的行为)可以使用window.collectionBehavior = [.transient, .ignoresCycle]
进行复制。 .transient
使得当您打开Exposé时,窗口会自动隐藏,并在您关闭窗口时重新打开,.ignoresCycle
使其在切换窗口时的行为不像真正的窗口。然后,我在切换NSStatusBar项时呈现它,否则隐藏它。