我创建了一个 NSStatusItem 并在界面生成器(Xcode 4.0)中分配了两个等效键。这些用于首选项菜单 cmd- 和退出选项 cmd-q。当菜单突出显示/打开时,这两者都可以工作,但即使应用程序是最重要的,也不会工作。关于为什么会发生这种情况或我如何改变这种情况的任何想法?
问问题
1803 次
2 回答
2
操作系统将它不处理的键事件传递给前端应用程序,前端应用程序将它们与主菜单和当前窗口中的任何键等效项进行比较。它们不与状态栏中的项目进行比较,并且由于状态栏实际上是一个不同的应用程序,因此您的应用程序是否在前台并不重要。当您打开菜单时,它就是焦点所在的窗口。这就是它在这些情况下起作用的原因。
由于状态项仅在菜单打开时才处于活动状态,因此您需要使用其他两种方法之一来获取等效键。第一种较新的方法是使用事件点击。我从来没有使用过这个,所以我不能建议如何设置它。另一个较旧的选项是使用热键。将来可能会不支持此方法,但是如果您有兴趣,我在此答案中发布了一个示例。
于 2011-04-26T02:36:42.500 回答
-1
我的猜测:您NSMenu
不在响应者链中。如果你能弄清楚如何把它放进去,你可能可以让它工作。
于 2011-04-26T03:02:21.563 回答