NSView 背景层

NSView background layer

还不能找出答案,但我有这段代码需要查看:

func gradient(fillView view: NSView, withGradientFromColors colors: Array<NSColor>) {

let gradientLayer = CAGradientLayer()
    gradientLayer.frame = view.bounds

let color1 = colors[0].cgColor
let color2 = colors[1].cgColor
gradientLayer.colors = [color1, color2]
    gradientLayer.locations = [0.0, 1.0]

view.layer?.addSublayer(gradientLayer)

这段代码采用 NSColor 的两个值,应该创建一个渐变背景。

代码有效!但是,如果我尝试在此视图上执行其他操作,例如我在其顶部有一个标签需要显示,但在执行此代码后实际上不会显示。我相信它在某种程度上落后于我绘制的视图?

有什么快速解决这个问题的方法吗?

更改子层的添加如下:

view.layer?.insertSublayer(gradientLayer, at: 0)