【发布时间】:2011-05-21 18:47:36
【问题描述】:
我正在 Cocoa 中构建一个 StatusBar 应用程序,因此我没有菜单。没有菜单意味着没有“文件 > 关闭”菜单项,该菜单项通常侦听快捷键“Command + W”。
从我的状态栏应用程序中,用户可以打开一个窗口来更改首选项,这就是我遇到问题的地方:用户可以仅通过用鼠标按下红点来关闭窗口。但是,像所有应用程序一样,我也希望支持“Command + W”快捷键。
目前我看到解决此问题的两种可能性:
- 在监听快捷方式的窗口上放置一个不可见的按钮。
- 为快捷方式添加应用程序范围的侦听器并手动联系窗口。
这两种解决方案都像是对系统的滥用。第一个解决方案可能会导致意外行为(如果用户偶然点击了不可见按钮,窗口会关闭),而第二个解决方案仍会导致哔声,因为窗口不知道它处理了这样的快捷方式。
有没有优雅的方法来解决这个问题?由于视图应该知道该做什么,因此仅使用 Interface Builder 的解决方案将是完美的。如果没有优雅的方法,有没有办法增强提到的解决方案?
提前致谢!
【问题讨论】:
标签: objective-c cocoa keyboard-shortcuts statusbar menubar