我正在动态地添加一个NSTextField到一个窗口,我有渲染问题.我将背景颜色设置为黑色,文字颜色为白色.这两个工作都是工作,但它们似乎是一个长方形,它是始终是白色的文本的一部分.有谁知道我可能做错了什么?如何摆脱文本周围的白色背景?代码如下:
//Create rectangle to size text field NSRect textFieldRect = NSMakeRect(300,300,54); //Instantiate text field and set defaults NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect]; [textField setFont:[NSFont fontWithName:@"Arial" size:48]]; [textField setTextColor:[NSColor whiteColor]]; [textField setStringValue:@"Some Text"]; [textField setBackgroundColor:[NSColor blackColor]]; [textField setDrawsBackground:YES]; [textField setBordered:NO]; [[window contentView] addSubview:textField];
解决方法
我在Mac OS X 10.6.4上尝试过你的代码.
在应用程序委托中:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { NSRect textFieldRect = NSMakeRect(300,54); NSTextField* textField = [[NSTextField alloc] initWithFrame:textFieldRect]; [textField setFont:[NSFont fontWithName:@"Arial" size:48]]; [textField setTextColor:[NSColor whiteColor]]; [textField setStringValue:@"Some Text"]; [textField setBackgroundColor:[NSColor blackColor]]; [textField setDrawsBackground:YES]; [textField setBordered:NO]; [[window contentView] addSubview:textField]; }
这就是结果
alt text http://www.freeimagehosting.net/uploads/26c04b6b64.png
我看不到任何白盒子.也许你正在使用不同的操作系统.或者也许你有一些其他的观点,相互引起你正在谈论的奇怪的影响.