简体   繁体   English

用 NSTableView 覆盖 NSWindowController 中的 keyDown | 响应空格键

[英]Overriding keyDown in NSWindowController with NSTableView | responding to spacebar

So I have a NSTableView inside NSWindowController .所以我在NSWindowController里面有一个NSTableView When I press spacebar it goes through NSResponder and stops on NSWindow which calls performClick: on the NSTableView ( NSControl ) All other key events are handled in NSWindowController .当我按空格键时,它会通过NSResponder并在调用performClick: on the NSTableView ( NSControl ) 的NSWindow上停止所有其他关键事件都在NSWindowController中处理。 How do I catch a spacebar event?如何捕捉空格键事件?

//NSWindowController
- (void)keyDown:(NSEvent *)event
{
    if ([[event charactersIgnoringModifiers] isEqual:@" "]) {
        [self togglePreviewPanel:self];
    } else {
        [super keyDown:event];
    }
}
Try with this


 - (void)keyDown:(NSEvent *)event
    {
        if ([event KeyCode]==48) {
            [self togglePreviewPanel:self];
        } else {
            [super keyDown:event];
        }
    }

//If KeyDown event doesn't work try with 'keyUp' event. //如果 KeyDown 事件不起作用,请尝试使用 'keyUp' 事件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM