可可新手在这里:我似乎首先进入了所有真正神秘的东西。我想要一个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视图中的字段则完全不起作用。事实上,它使得文本选择变得不可能。仍然可以在字段中单击并键入,但在文本中拖动光标以选择它会失败。我只能得出结论,不知何故,我错误地配置了字段编辑器。我是否正确地引用了它?
发布于 2012-07-19 00:54:21
我希望我在回答自己的问题时遵循了stackOverflow协议。简短的答案是,显然,我发布的代码在NSPopovers上工作得很好。我认为它不工作的可能原因是我调用的selectionColor的NSDictionary对象没有被正确初始化。我正在享受艾米丽·利特拉的时刻:“哦…算了!“在我看来,现在唯一的问题是,我花了很长时间才找到这个问题。
https://stackoverflow.com/questions/11272037
复制相似问题