複雑な分割ビュー ベースのウィンドウ内のさまざまなサブビューごとに個別の KeyDown: ハンドラーが必要です。さらに、個々のサブビュー ハンドラーによって処理されないすべてのキーに対して、WindowController レベルで "グローバル" KeyDown: ハンドラーが必要です。
NSResponder ドキュメントの私の理解から、次のようなことができるはずです: (疑似コードで - 構文について文句を言わないでください。ここでアイデアをよりよく理解してください。)
しかし、未処理のキーは、私が期待したように、応答チェーンを WindowController に伝播しません。チェーンは ViewController で停止しているようです。
ここで何が欠けていますか?
ありがとう
(疑似コード)
- (void)keyDown:(NSEvent *)theEvent {
IF{ certain-keys
// subview -- keydown event handling code responds only to certain keys.
[mySubViewController doMysubviewKeyDown:theEvent etc
ELSE
// window controller -- keydown handling code for all other keys.
[super keyDown:theEvent];
}
}