问题描述
我想创建一个 NSMenu
,其中包含一个默认隐藏的 NSMenuItem
,并且仅在用户按住键盘修改键时才会出现。
基本上,我正在寻找与 Finder 的“Go”菜单中的“Library”选项相同的行为:
我已经尝试使用 [NSEvent addGlobalMonitorForEventsMatchingMask: handler:]
安装密钥侦听器,通过设置 NSMenuItem
属性以编程方式隐藏和取消隐藏 hidden
。这种方法有效,但问题是当 NSMenu
打开时隐藏/取消隐藏不起作用。显然,NSMenu
在打开时完全接管了事件处理循环,从而阻止了键侦听器的工作。
我可能可以使用 CGEventTap 在 NSMenu
打开时仍然接收事件,但这似乎完全是矫枉过正。
我发现的另一个与我想要的类似的东西是 NSMenu
的“alternate”机制。但我只能让它切换 NSMenuItems
,而不是隐藏/取消隐藏它们。
任何帮助将不胜感激。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)