我目前在NSToolbar
(Mac OS X)中有三个按钮。NSPopover
相对于发送动作的按钮,每个按钮都会触发不同的显示。那部分工作正常。两个弹出框使用NSPopoverBehaviorTransient
,一个使用NSPopoverBehaviorSemitransient
(因为我特别希望它在应用程序之间切换或移动窗口时保持打开状态)。
当其中一个瞬态弹出框打开并且我单击弹出框本身之外的任何位置时,弹出框会正确关闭。半瞬态弹出框也是如此(除了切换应用程序和移动窗口),除非我单击另一个显示另一个弹出框的工具栏按钮。在这种情况下,现在两个弹出框同时在屏幕上可见。(我怀疑这是一个错误。)
如果按下另一个工具栏按钮,我已经尝试研究可以自己启动关闭的方法。我想出的唯一选择是在文档级别跟踪当前打开的弹出框,并确保在打开另一个弹出框之前手动关闭它。我宁愿半瞬态弹出框能够自行关闭。
有什么我忽略的吗?谢谢。