KeyDown无效

时间:2014-01-18 13:50:42

标签: macos cocoa keydown

我试图通过按下空格键(任何地方)来执行某个操作。在我的代码中,我已经获得了acceptFirstResponder方法和keyDown方法,但我没有得到NSLog消息

这里是代码:

- (BOOL)acceptsFirstResponder
{
return YES;
}
- (void)keyDown:(NSEvent *)theEvent {
NSLog(@"test");
}

2 个答案:

答案 0 :(得分:4)

您需要将-keyDown:方法放在NSView子类上,并且必须将NSView子类放在窗口中,并且该窗口必须在屏幕上,并且您必须在命中之前单击您的视图关键。然后钥匙将转到您的视野。

查看图表“关键事件的路径”on this page

答案 1 :(得分:0)

除了在keyDown中实现NSView,还需要实现acceptsFirstResponder并使它返回YES

- (BOOL)acceptsFirstResponder
{
    return YES;
}