Cocoa中的keyUp / keyDown问题

时间:2010-12-10 00:49:53

标签: objective-c cocoa macos keydown

我正在编写一个将成为基本视频游戏的应用程序,但keyUp:(NSEvent )和keyDown:(NSEvent )方法无法执行。

这是我的代码:

-(void)keyUp:(NSEvent*)event {
    NSLog(@"Key %@", event);
}

-(void)keyDown:(NSEvent*)event {   
    switch( [event keyCode] ) {
        case 126:
        case 125:
        case 124: 
        case 123:       
   NSLog(@"Arrow key pressed!");
   break;
        default:
   NSLog(@"Key %@", event);
   break;
    }
}

我确定它在NSResponder的子类中(虽然它在NSOpenGLView中,可能会影响它吗?)然后我没有看到任何问题。任何帮助都非常有用。谢谢:))

1 个答案:

答案 0 :(得分:5)

您是否实施了NSResponder方法acceptFirstResponder以返回YES?

- (BOOL)acceptsFirstResponder {
    return YES;
}