2017-10-19 115 views
1

我使用NSTextfield作为标签。 我试图改变backgroundColor这样NSTextfield的Backgroundcolor

let myLabel = NSTextField(labelWithString: "A Label") 
myLabel.backgroundColor = NSColor.green 

但它不工作。出了什么问题?

+1

你看过'drawsBackground'属性吗?它可以是'假'。 –

+0

谢谢@PeterTretyakov tretyakov“,解决了这个问题。有没有更通用的方式为backgroundcolor或anNSView? – mik

+0

我不知道。您可以创建自定义类,从'NSTextField'继承它并将逻辑放在那里,但我不认为它会给你带来很多好处,因为你不会在代码中使用'NSTextFields'。PS我已经添加了关于'drawsBackground'的答案。 –

回答

1

您需要将NSTextFielddrawsBackground设置为true。这boolean控制接收者的单元格是否在其文本后面绘制其背景颜色。

let myLabel = NSTextField(labelWithString: "A Label") 
myLabel.drawsBackground = true 
myLabel.backgroundColor = NSColor.green 

Apple Documentation

为了防止渲染不一致的,背景颜色渲染 是圆角边框的文本字段禁用