Как обрабатывать события клавиатуры в подклассе NSViewController? - PullRequest
3 голосов
/ 16 ноября 2011

Я создаю одно приложение какао, имеющее структуру, подобную мастеру.

Все диалоги являются подклассом NSViewController. В настоящее время я не могу получить события клавиатуры, такие как keyDown и keyUp ..

Пожалуйста, помогите мне решить эту проблему ....

Заранее спасибо ....

Ответы [ 3 ]

4 голосов
/ 16 ноября 2011

Переопределить keyDown: и keyUp: метод.

-(void)keyUp:(NSEvent*)event
-(void)keyDown:(NSEvent*)event

и

- (BOOL)acceptsFirstResponder {
    return YES;
}

В подклассе NSViewController вы должны указать Руководство по обработке событий Cocoa .

1 голос
/ 30 мая 2017

Если вы пытаетесь просто получить событие для побега, используйте вместо этого:

override var acceptsFirstResponder: Bool {
    return true
}

override func cancelOperation(_ sender: Any?) {
    // The user pressed escape
}
0 голосов
/ 13 января 2012

Окно настройки «Авто пересчитывает цикл просмотра» в Inteface Builder работает для меня.

...