6

可可菜鸟在这里。我想知道如何在用户输入 NSTextView 时捕获Enter和键 onKeyDown?tab

谢谢!

4

2 回答 2

4

最简单的方法是实现- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)aSelector委托方法并查找insertNewline:insertTab:选择器。

- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)aSelector
{
    if (aSelector == @selector(insertNewline:)) {
        // Handle the Enter key
        return YES;
    } else if (aSelector == @selector(insertTab:)) {
        // Handle the Tab key
        return YES;
    }

    return NO;

}
于 2015-11-06T05:28:14.347 回答
2

您应该处理keyDown:(NSEvent*)theEventNSTextView 的消息(即编写您自己的后代)。在这种情况下,您将在[theEvent keyCode].

对于 return 有一个常量kVK_Return,对于 tab -kVK_Tab等。

您应该添加 Carbon 框架(和#import Carbon/Carbon.h)来访问这些常量。

于 2012-12-08T09:24:21.733 回答