NSButton设置背景颜色macOS 10.12

时间:2016-11-13 16:53:37

标签: macos nsbutton nsbuttoncell

我在Storyboard中创建了NSButtons,我想更改背景颜色。我搜索过SO和Google,但这些解决方案实际上都不适用于我的项目甚至是一个简单的测试项目。我试过了:

  1. 设置button.layer.backgroundColor(包括有和没有 导入QuartzCore并设置wantsLayer)。
  2. 从NSButton获取NSButtonCell并更改背景颜色。我已尝试过有边框,无边框,透明等等。背景颜色没有变化。我尝试过从正方形变为渐变,没有运气。

1 个答案:

答案 0 :(得分:2)

这必定是macOS中的错误。我可以简单地通过使用带有一个EMPTY覆盖的EMPTY类进行子类化来使NSButtonCell响应backgroundColor:

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

使用此子类时,它都按预期工作!