2016-09-12 4 views
1

Может, т выяснить ответ еще, но у меня есть этот код, который называется для зрения:NSView фоновый слой

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 и должны создать градиент фона.

Код работает! Бут, если я пытаюсь выполнить что-то еще в этом представлении, например, у меня есть надпись поверх нее, которая должна быть показана, на самом деле она не отображается после выполнения этого кода. Я верю, что это почему-то за то, что я рисую?

Любой быстрый способ решения этой проблемы?

ответ

2

Изменить добавление подслоя, как показано ниже:

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

Благодаря кучу! Просто то, что я искал, решение было еще проще, чем я думал! KUDOS! –

Смежные вопросы