Frage

Ich habe UIView Unterklasse - eigentlich ein Puzzleteil -. Mit 2 verschiedenen CGLayer bei Initwithframe initialisiert

In drawRect Ich muss mischen diese zweischichtige , und die oberste sollte haben variable alpha , je nach Spiel-Logik.

Was ist die beste (Leistung optimiert) Art und Weise, dies zu tun? Gibt es eine CGLayer oder CGContext Funktion, die einige alpha setzt vor dem Ziehen?

War es hilfreich?

Lösung

Stellen Sie die -opacity der Schicht. Denken Sie daran, dass die -opaque Einstellung der Ebene NO sein muss. Der Standardwert ist NO, aber es ist häufig aus Performance-Gründen auf YES gesetzt.

Wenn Sie bereits -drawInContext: tun, dann können Sie mit CGContextSetAlpha() experimentieren. Generell aber, verwenden Sie nicht -drawRect: und Schichten zur gleichen Zeit. Sie lassen in der Regel entweder die Ansicht oder die Schichten, die die Zeichnung tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top