NSButton设置背景色macOS 10.12

NSButton设置背景色macOS 10.12,macos,nsbutton,nsbuttoncell,Macos,Nsbutton,Nsbuttoncell,我在故事板中创建了NSButtons,我想更改其背景色。我已经搜索了SO和Google,但没有一个解决方案能在我的项目上,甚至一个简单的测试项目上起作用。我试过: 设置button.layer.backgroundColor(包括带和不带 导入QuartzCore并设置wantsLayer) 从NSButton获取NSButtonCell并更改背景色。我试过用有边框、无边框、透明等等,背景色没有变化。我试过从正方形变为渐变色,运气不好 这一定是macOS中的一个bug。我可以通过使用带有一个空覆

我在故事板中创建了
NSButtons
,我想更改其背景色。我已经搜索了SO和Google,但没有一个解决方案能在我的项目上,甚至一个简单的测试项目上起作用。我试过:

  • 设置button.layer.backgroundColor(包括带和不带 导入QuartzCore并设置
    wantsLayer
  • 从NSButton获取NSButtonCell并更改背景色。我试过用有边框、无边框、透明等等,背景色没有变化。我试过从正方形变为渐变色,运气不好

  • 这一定是macOS中的一个bug。我可以通过使用带有一个空覆盖的空类进行子类化,使NSButtonCell对backgroundColor作出响应:

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

    当使用这个子类时,它会像预期的那样工作

    我不确定我是否理解这个问题,但我需要一个可调整大小的矩形按钮。我试过几种类型,正方形,渐变。。。