我正在创建一个具有向导结构的cocoa应用程序。
所有对话框都是NSViewController的子类。目前我无法获得键盘事件,如keyDown和keyUp ..
请帮我解决这个问题....
提前致谢....
答案 0 :(得分:4)
覆盖keyDown:和keyUp:方法。
-(void)keyUp:(NSEvent*)event
-(void)keyDown:(NSEvent*)event
和
- (BOOL)acceptsFirstResponder {
return YES;
}
在NSViewController
的子类中
你应该参考Cocoa Event-Handling Guide。
答案 1 :(得分:1)
如果您尝试简单地获取转义事件,请改用:
override var acceptsFirstResponder: Bool {
return true
}
override func cancelOperation(_ sender: Any?) {
// The user pressed escape
}
答案 2 :(得分:0)
在Interface Builder中将窗口设置为“Auto Recalculate View Loop”对我有用。