2016-11-13 81 views
0

我在故事板中創建了NSButtons,我想更改背景顏色。我已經搜索過SO和Google,但沒有任何解決方案實際上可以用於我的項目或甚至是一個簡單的測試項目。我已經試過:NSButton設置背景顏色macOS 10.12

  1. 設置button.layer.backgroundColor(包括有和沒有 進口QuartzCore和設置wantsLayer)。
  2. 從NSButton獲取NSButtonCell並更改背景顏色。我已經嘗試了這種有邊框,無邊框,透明等。沒有改變背景顏色。我試過從正方形變爲漸變,沒有運氣。
+0

不知道我明白這個問題,但我需要一個可調整大小的矩形按鈕。我嘗試了幾種類型,正方形,漸變... – Tim

回答

1

這一定是macOS中的一個bug。我可以讓NSButtonCell到的backgroundColor迴應簡單地通過一個空的類繼承一個空覆蓋:

class ColorButtonCell: NSButtonCell { 
    override func draw(withFrame cellFrame: NSRect, in controlView: NSView) { 
     super.draw(withFrame: cellFrame, in: controlView) 
    } 
} 

當使用這個子類,它所有的作品如預期!