如何为 safari 应用程序扩展的背景设置所需的颜色

How to set the desired color for the background of the safari app extension

不要因为愚蠢的问题而责备我,但我需要你的帮助,我用谷歌搜索了多少 - 我找不到任何东西。我不明白如何将主 SafariExtensionViewController 的背景更改为我想要的 rgb?

这是初级的,只要确保你 turn wantsLayer 就可以了。 例如:

override func viewDidLoad() {
    view.wantsLayer = true
    view.layer?.backgroundColor = .black
}

如果您打算更改 updateLayer() 内 NSView 的颜色,您还需要打开 wantsUpdateLayer

class MyView: NSView {
    override var wantsUpdateLayer: Bool { true }
    override func updateLayer() {
        layer?.backgroundColor = NSColor(named: "CustomControlColor")?.cgColor
    }
}

或者你可以不使用这样的图层:

class MyView: NSView {
    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)
        NSColor(named: "CustomControlColor")?.setFill()
        dirtyRect.fill()
    }
}