gpt4 book ai didi

macos - NSTextField 中的拼写建议

转载 作者:行者123 更新时间:2023-12-03 17:48:39 27 4
gpt4 key购买 nike

我的应用程序有 NSTextFields 用于输入;我故意不使用 NSNumberFormatter 来对输入进行特殊处理。该应用程序实现“全屏”模式。当应用程序处于全屏状态并且焦点位于文本字段中时,我按 ESC 键恢复窗口模式,但我收到了一个带有拼写建议/完成的弹出窗口。当按下 ESC 键时,我不希望出现以下任何一种行为:弹出完成窗口,也不希望退出全屏模式。有什么建议么?谢谢。

最佳答案

您需要设置一个 NSTextFieldDelegate 来处理该命令,并在文本字段上设置委托(delegate)。这是一个例子:

@property (weak) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSTextField *textField;
@end

@implementation AppDelegate

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
// Insert code here to initialize your application
self.textField.delegate = self;
}

- (BOOL)control:(NSControl*)control textView:(NSTextView*)textView doCommandBySelector:(SEL)commandSelector {
if (commandSelector == @selector(cancelOperation:)) {
NSLog(@"handleCancel");
return YES;
}
return NO;
}

```

如果您只是想消除拼写建议,您可以重写以下方法,但上面的方法两者兼而有之。

- (NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index {
return nil;
}

关于macos - NSTextField 中的拼写建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36707046/

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