Cocoa中的keyUp/keyDown问题

Jum*_*hyn 3 macos cocoa objective-c 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

- (BOOL)acceptsFirstResponder {
    return YES;
}
Run Code Online (Sandbox Code Playgroud)