在NSTextView中检测Shift + Return

时间:2014-03-23 23:20:30

标签: cocoa nstextview

我正在使用以下代码检测文本视图中的返回键。你如何检测是否也按下了换档键?

- (BOOL)textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector
{
    if(commandSelector == @selector(insertNewline:))
    {
        // return key
        return YES;
    }

    return NO;
}

2 个答案:

答案 0 :(得分:2)

子类NSTextView并使用此

覆盖flagsChanged
-(void) flagsChanged:(NSEvent *)theEvent {

    if ([theEvent modifierFlags] & NSShiftKeyMask && [theEvent modifierFlags] & NSCommandKeyMask) {

       NSLog(@"pressed");
    }
}

答案 1 :(得分:0)

Swift 4

override func flagsChanged(with event: NSEvent) {

    if event.modifierFlags.contains(.shift) {
        print("shift!")
    }

    super.flagsChanged(with: event)
}