CALayer drawInContext vs addSublayer

Wie kann ich diese beiden in die gleiche UIView richtig?

Ich habe eine benutzerdefinierte Unterklasse CALayer, in dem ich ein Muster zu zeichnen, die innerhalb drawInContext

Habe ich einen anderen, in dem ich ein overlay PNG-Bild als Inhalt.

Habe ich eine Dritte, die nur einen hintergrund.

Wie kann ich die overlay-alle 3 diese Gegenstände?

[self.layer addSublayer:bottomLayer];    //this line is the problem

[squaresLayer drawInContext:viewContext];
[self.layer addSublayer:imgLayer];

Die anderen 2 selbst ziehen richtig wenn ich Sie in dieser Reihenfolge. Egal wo ich versuchen und bottomLayer, es immer verhindert, dass squaresLayer von der Zeichnung. Der Grund, ich brauche 3 Schichten, die ich beabsichtige zu animieren, die Farben im hintergrund und benutzerdefinierten Ebenen. Die oberste Schicht ist nur eine grafische overlay.

  • Mehrere Fragen: Sind Sie sicher, dass der layer nicht gezeichnet wird? Oder ist es gezeichnet wird, aber nicht geben Ihnen die Ergebnisse, die Sie suchen? Wie die Ebenen überlagern? Ist es notwendig, diese Ebenen alle in der gleichen Ansicht, oder könnten Sie teilen eine von Ihnen in eine andere Ansicht?
  • Hi, naja, Sie SOLLTEN in der Lage sein werden, in der gleichen UIView, ich nehme an, dass ich verwenden könnte, Untersichten, scheint wie ein bisschen zu viel zu verwenden separate Ansichten nur-auf-composite-Schichten. Allerdings habe ich kommen mit einer Lösung von 2 benutzerdefinierten Ebenen. Alles Hinzugefügt, zu sich selbst.layer über "addSublayer" zu ziehen scheint, auf der Oberseite des nichts gezogen über "drawInContext" die Zeichnung direkt auf den Rahmen der Ansicht .Schicht. Ok also, herauszufinden, dass heraus, dass ich nur gerendert, 2 Schichten, um zu diesem Zusammenhang und fügte hinzu, die imgLayer an der Spitze. Funktioniert einwandfrei, wie für die animation Wunde mit einem NSTimer die Ansicht aktualisieren, die läuft drawInContext.
InformationsquelleAutor Michael | 2009-08-01
Schreibe einen Kommentar