可以;但是我还没有弄清楚答案,但是我有这个代码需要一个视图:
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值,应创建渐变背景。
代码有效! Buut,如果我尝试在此视图上执行其他操作,例如我在其上面有一个需要显示的标签,在执行此代码后它实际上没有显示。我相信它是以某种方式在我画的观点背后?
解决此问题的快速方法是什么?
答案 0 :(得分:2)
更改子图层的添加如下:
view.layer?.insertSublayer(gradientLayer, at: 0)