【问题标题】:NSView background layerNSView 背景层
【发布时间】:2016-09-12 12:47:44
【问题描述】:

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

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 值,并应创建渐变背景。

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

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

【问题讨论】:

    标签: swift cocoa nsview layer


    【解决方案1】:

    修改子层的添加如下:

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

    【讨论】:

    • 非常感谢!正是我正在寻找的,解决方案比我想象的还要容易!荣誉!
    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 2011-11-24
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多