当 NSTextField (Label) 绑定到具有绑定的控制器选择时,并且我为多值标记、无选择标记等指定了占位符值时,它会使用灰色绘制文本,在深色背景上显示效果不佳.
有没有办法改变它用来显示占位符文本的文本颜色?
当 NSTextField (Label) 绑定到具有绑定的控制器选择时,并且我为多值标记、无选择标记等指定了占位符值时,它会使用灰色绘制文本,在深色背景上显示效果不佳.
有没有办法改变它用来显示占位符文本的文本颜色?
使用属性字符串指定您想要的颜色,如下所示:
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]];
您可以尝试制作自己的“占位符”。我的意思是您可以在您的文本字段上显示一个标签,其中包含您想要的任何文本模式。