可可新手在这里:我似乎首先进入了所有真正神秘的东西。我想要一个 NSTextField,点击时默认选择其中的内容,并且我可以在其中更改选择颜色。我在这个论坛上找到了足够多的东西,让我开始了解现场编辑的奥秘。我有 NSTextField 子类,并覆盖了 becomeFirstResponder 方法:
- (BOOL) becomeFirstResponder {
if (!super.becomeFirstResponder) return NO;
NSTextView * fieldEditor = (NSTextView *) [self.window fieldEditor:YES forObject:self];
[fieldEditor performSelector:@selector(selectAll:) withObject:fieldEditor afterDelay:0];
[fieldEditor setSelectedTextAttributes:selectionColor];
return YES; }
其中 selectionColor 是一个单项 NSDictionary,其 NSColor 对象键入 NSBackgroundColorAttributeName。这对于窗口和面板上的文本字段非常有效,但对于 NSPopover 视图中的字段根本不起作用。事实上,它使文本选择变得不可能。仍然可以在字段中单击并键入,但在文本中拖动光标以选择它会失败。我只能得出结论,我以某种方式错误地配置了字段编辑器。我是否正确引用它?