質問: CocoaアプリケーションでESCキーを検出できませんか? 私はカスタムNSViewでkeydownイベントを検出する際にonKeyDownを使用しますが、 "a、b、c"のような通常のキーを入力するとうまく動作しますが、ESCを押すとonkeydown関数を呼び出さず、ユーザーはESCを押します。 How to do that?
回答: 私はちょうど私のテストアプリの1つでカスタムNSViewにKeyDownハンドラをドロップし、ESCキーはKeyDownを完全にうまくいきました。 あなたがKeyDownと呼んでいるやり方と何か関係があるように思えますか?フォーカスが正しく設定されていない可能性があります。 いずれにしても、カスタムNSViewに `cancelOperation:`を実装することもできます。 [`[NSResponder cancelOperation:]`](https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSResponder_Class/Reference/Reference.html#//apple_ref/occ/instm/のドキュメントは次のとおりです。 NSResponder/cancelOperation%3a ) をクリックします。これはEscapeキーとMacintosh標準Command +にも対応しています。キーの組み合わせ。 また、[ココアイベントハンドリングガイド](https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/の キーイベントの処理 セクションも参照してください。 EventOverview/HandlingKeyEvents/HandlingKeyEvents.html )を参照してください。お役に立てれば!