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