Cocoa对话框中的Esc和Enter键

Pav*_*uva 5 cocoa interface-builder

当用户按下Esc或Enter键时,如何在Cocoa应用程序中关闭对话框?我有OK按钮,是否可以将其设为默认按钮?

Chr*_*son 7

如果使用NSAlert类或NSRunAlertPanel函数系列或函数族提供警报面板NSBeginAlertSheet,则将自动获得默认和取消按钮的支持.

如果您正在展示需要"确定/取消"按钮的工作表,并且您没有使用上述任何一个,则应该能够使用属性检查器在Interface Builder中为您的按钮分配相应的键盘等效项.(只需突出显示Key Equiv.区域,然后按下您希望等同于按下该按钮的键.)

如果您要呈现的对话框不是警报或文档/窗口模式表 - 请不要.:)文档模式警报不像Mac一样,不应该用于首选项窗口之类的东西.

  • 有一点需要注意:使用NSRunAlertPanel/NSAlert我发现只有在你按下"取消"按钮时才能使用转义键.不知道这对本地化应用程序如何有效. (4认同)