我试图通过按下空格键(任何地方)来执行某个操作。在我的代码中,我已经获得了acceptFirstResponder方法和keyDown方法,但我没有得到NSLog消息
这里是代码:
- (BOOL)acceptsFirstResponder
{
return YES;
}
- (void)keyDown:(NSEvent *)theEvent {
NSLog(@"test");
}
答案 0 :(得分:4)
您需要将-keyDown:方法放在NSView子类上,并且必须将NSView子类放在窗口中,并且该窗口必须在屏幕上,并且您必须在命中之前单击您的视图关键。然后钥匙将转到您的视野。
查看图表“关键事件的路径”on this page。
答案 1 :(得分:0)
除了在keyDown
中实现NSView
,还需要实现acceptsFirstResponder
并使它返回YES
:
- (BOOL)acceptsFirstResponder
{
return YES;
}