3

我正在创建一个具有向导式结构的可可应用程序。

所有对话框都是 NSViewController 的子类。目前我无法获得键盘事件,例如 keyDown 和 keyUp..

请帮我解决这个问题......

提前致谢....

4

3 回答 3

4

覆盖 keyDown: 和 keyUp: 方法。

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

- (BOOL)acceptsFirstResponder {
    return YES;
}

在你的子类中NSViewController 应该参考Cocoa Event-Handling Guide

于 2011-11-16T14:14:58.500 回答
1

如果您想简单地获得一个逃生事件,请改用它:

override var acceptsFirstResponder: Bool {
    return true
}

override func cancelOperation(_ sender: Any?) {
    // The user pressed escape
}
于 2017-05-30T18:17:07.303 回答
0

在 Inteface Builder 中将窗口设置为“自动重新计算视图循环”对我有用。

于 2012-01-13T10:20:48.490 回答