2017-10-19 110 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

爲了防止渲染不一致的,背景顏色渲染 是圓角邊框的文本字段禁用