Я хотел бы иметь отдельные обработчики KeyDown: для каждого из различных подпредставлений в сложном окне на основе splitview. Кроме того, я хотел бы иметь «глобальный» обработчик KeyDown: на уровне WindowController для любых ключей, которые не обрабатываются отдельными обработчиками подпредставления.
Исходя из моего понимания документации NSResponder, я должен уметь делать что-то вроде следующего: (в псевдокоде - пожалуйста, не жалуйтесь на синтаксис. Фактически я пишу этот Форт, но я думал, что цель - Псевдокод в стиле C может лучше передать эту идею.)
Но необработанные ключи не распространяются вверх по цепочке респондента на 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];
}
}