我在自定义NSView中使用onKeyDown来检测keydown事件,当我输入普通键时它很好用,例如" a,b,c"但是当我按下ESC时它不会调用onkeydown函数,当用户按ESC键时,我想退出我的应用程序。
怎么做?
答案 0 :(得分:5)
好的,事实证明我的键盘坏了,只有ESC键,我用键盘改了,现在就可以了。无论如何,谢谢你。
答案 1 :(得分:2)
我刚刚将一个KeyDown处理程序放入我的一个测试应用程序中的自定义NSView中,并且ESC键完全击中了KeyDown。
我认为似乎与你调用KeyDown的方式有关?也许焦点设置不正确。
无论如何,您可以做的另一件事是在自定义NSView中实现cancelOperation:
。
以下是[NSResponder cancelOperation:]
的文档。这也响应Escape键和Macintosh标准Command +。关键组合。
另请查看Cocoa Event-Handling Guide的 处理重要事件 部分,这是我为您寻找答案的地方。希望这有帮助!