如何使用* ENTER或ESC键关闭OS X模式表

时间:2015-03-04 17:02:32

标签: macos cocoa interface-builder

我的应用程序启动了一个包含多个按钮的模式表。其中一个是默认按钮(等效键\ r \ n),按键盘上的 ENTER 键可以按预期方式取消工作表。如果用户按下 ESC 键,我希望也能达到同样的效果。所以 ENTER ESC 应该是按钮的等效键。如何实现这一目标?

1 个答案:

答案 0 :(得分:3)

请参阅-[NSResponder cancelOperation:],它自动绑定到转义键:

  

此方法绑定到Escape和Command-。 (期间)钥匙。关键窗口首先在视图层次结构中搜索其等效键为Escape或Command-的视图,无论输入哪个。如果这些视图都没有处理等效键,则窗口会向第一个响应者发送一条默认操作消息cancelOperation:并从那里向消息传递响应者链。

换句话说,您可以通过在应用程序的响应程序链中的某个位置实现-cancelOperation:来处理转义键,例如窗口控制器。