【发布时间】:2010-09-06 13:18:50
【问题描述】:
我试图在鼠标按下按钮时显示弹出菜单。该按钮应该在鼠标按下时显示为按下状态,并且在鼠标按下时“未按下”,无论选择了任何菜单项。类似于用于添加应用程序的 Expose/Space Preference 面板“+”按钮。
到目前为止,我尝试了 3 种方法:
点击按钮时发送动作。但是这里弹出菜单出现在鼠标向上而不是鼠标向下
子类 NSButton 并覆盖 mouseDown:。弹出菜单出现在鼠标按下时,我可以选择任何菜单项。但是当弹出菜单消失时,按钮似乎被按下了。因此,我需要再次单击以“取消按下”按钮,然后才能再次获得相同的操作。
NSEvent addLocalMonitorForEventsMatchingMask。与 2 类似的行为。
有什么建议吗?我猜方法 2 或 3 是正确的方法,只需要“松开”鼠标上的按钮。
【问题讨论】:
-
为什么不直接使用 NSPopUpButton?