【发布时间】:2012-06-26 13:41:34
【问题描述】:
我想在应用程序的主菜单中添加一个很少使用的菜单项。我希望它默认隐藏并仅在用户按住 Option 键时显示。我该怎么做?
看来我应该处理flagsChanged:,但这是NSResponder的方法,NSMenu不继承自NSResponder?我在主窗口控制器中尝试过它,当我在单击菜单之前按 Option 键时它可以工作。以下用例不起作用:单击菜单项(没有项目),按选项键 - 我的项目应该出现,释放选项键 - 项目应该消失。
我还尝试了 NSEvent 的 addLocalMonitorForEventsMatchingMask:handler: 和 addGlobalMonitorForEventsMatchingMask:handler: for NSFlagsChangedMask,但是当主菜单打开时按下选项键时,不会触发本地或全局处理程序。
我该怎么做?
【问题讨论】: