可可诺布在这里。我想知道如何在用户输入NSTextView时捕获KeyDown上的Enter
和tab
键?
谢谢!
答案 0 :(得分:3)
最简单的方法是实施- (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;
}
答案 1 :(得分:2)
您应该处理NSTextView的keyDown:(NSEvent*)theEvent
消息(即编写您自己的后代)。
在这种情况下,您将拥有[theEvent keyCode]
中的密钥代码。
对于返回,有一个常量kVK_Return
,用于标签 - kVK_Tab
等。
您应该添加Carbon框架(和#import Carbon/Carbon.h
)来访问这些常量。