5

当 NSTextField (Label) 绑定到具有绑定的控制器选择时,并且我为多值标记、无选择标记等指定了占位符值时,它会使用灰色绘制文本,在深色背景上显示效果不佳.

有没有办法改变它用来显示占位符文本的文本颜色?

4

2 回答 2

15

使用属性字符串指定您想要的颜色,如下所示:

NSDictionary *blueDict = [NSDictionary dictionaryWithObject: [NSColor blueColor]
                        forKey: NSForegroundColorAttributeName];
NSAttributedString *blueString = [[[NSAttributedString alloc] initWithString: @"test"
                                attributes: blueDict] autorelease];

然后您可以直接设置占位符属性字符串:

[[field cell] setPlaceholderAttributedString: blueString];

或通过绑定来完成,例如:

[field2 bind: @"value" toObject: [NSUserDefaults standardUserDefaults]
        withKeyPath: @"foo"
        options: [NSDictionary dictionaryWithObject: blueString forKey: NSNullPlaceholderBindingOption]];
于 2009-11-16T05:56:08.037 回答
0

您可以尝试制作自己的“占位符”。我的意思是您可以在您的文本字段上显示一个标签,其中包含您想要的任何文本模式。

于 2009-11-16T05:40:14.497 回答