2016-09-12 3 views
1

kann; t noch die Antwort herauszufinden, aber ich habe diesen Code, die für eine Ansicht aufgerufen wird:NSView Hintergrundschicht

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) 

Dieser Code nimmt zwei Werte von NSColor und soll einen Hintergrund mit Farbverlauf erstellen.

Der Code funktioniert! Buut, wenn ich versuche, etwas anderes in dieser Ansicht auszuführen, zum Beispiel, dass ich ein Etikett darüber habe, das angezeigt werden muss, wird es nach der Ausführung dieses Codes tatsächlich nicht angezeigt. Ich glaube, dass es irgendwie hinter der Sicht steht, die ich zeichne?

Jeder schnelle Weg zur Lösung dieses Problems?

Antwort

2

Ändern Sie die Zugabe von Unterschicht wie folgt:

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

Dank einem Haufen! Genau das, was ich suchte, Lösung war noch einfacher als ich dachte! KUDOS! –