gpt4 book ai didi

objective-c - 检测 Ctrl + Return 或 Ctrl + Enter 按下

转载 作者:行者123 更新时间:2023-12-03 16:25:18 25 4
gpt4 key购买 nike

我发现很难找到关于此事的任何官方信息。

我有一个 TextView 并覆盖 keyDown 事件,并尝试检测用户是否按下 Ctrl + Enter

- (void)keyDown:(NSEvent *)theEvent
{
if([theEvent modifierFlags] & NSControlKeyMask && /* how to check if enter is pressed??? */)
{
NSLog(@"keyDown: ctrl+enter");
if(_delegate)
{
if([_delegate respondsToSelector:@selector(didSomething:)])
{
[_delegate performSelector:@selector(didSomething:) withObject:nil];
}
}
}else
{
[super keyDown:theEvent];
}
}

我尝试了不同的方法,但没有任何效果。

有人吗?

(很抱歉问了这么一个微不足道的问题,但我已经用谷歌搜索了一段时间,但没有找到任何东西)

最佳答案

unichar c = [theEvent charactersIgnoringModifiers] characterAtIndex:0];

if(([theEvent modifierFlags] & NSControlKeyMask) && (c == NSCarriageReturnCharacter || c == NSEnterCharacter) {
// do stuff
}

或者,您可以使用委托(delegate)的 textView:doCommandBySelector::

- (BOOL)textView:(NSTextView *)aTextView doCommandBySelector:(SEL)aSelector {
// insertLineBreak: is the method sent when a user presses control-return in a text view
if (aSelector == @selector(insertLineBreak:)) {
// do stuff
return YES;
}
}

return NO;
}

关于objective-c - 检测 Ctrl + Return 或 Ctrl + Enter 按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7361168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com