我正在Cocoa中构建一个StatusBar应用程序,因此我没有菜单。没有菜单意味着没有“文件>关闭”菜单项,通常会侦听快捷键“Command + W”。
在我的StatusBar应用程序中,用户可以打开一个窗口来更改首选项,这就是我遇到问题的地方:用户可以仅通过用鼠标按下红点来关闭窗口。但是,像alle应用程序一样,我也想支持“Command + W”快捷方式。
目前我看到两种可能性来解决这个问题:
这两种解决方案都像是滥用系统。第一种解决方案可能导致意外行为(如果用户偶然碰到隐形按钮,窗口会关闭),第二种解决方案仍然会发出哔声,因为窗口不知道它处理这样的快捷方式。
有没有一种优雅的方法来解决这个问题?由于视图应该知道该做什么,因此只使用Interface Builder的解决方案将是完美的。如果没有优雅的方式,有没有办法增强所提到的解决方案?
提前致谢!
答案 0 :(得分:2)
如果你把文件>关闭MainMenu笔尖中的菜单项,即使菜单不可见,快捷方式也会起作用。
如果您选择为快捷方式实现应用程序范围的侦听器,则可以通过从块返回nil来消除蜂鸣声,以便原始事件不会被传递。