2009-05-19 11 views
2

Es scheint ein Delegierter zu sein, dieWas kann ich mit einem CALayer-Delegaten tun?

Die Dokumentation wie myView.layer.delegate = anObject eingestellt werden kann, sagt nur:

Delegierter

der Delegatobjekt des Empfängers fest.

@property (assign) id Delegat

Ich frage mich, welche Art von Methoden, die Delegierten würden implementieren, und wenn sie würden genannt werden. Könnte einige große Probleme mit der presentationLayer lösen, die die aktuellen Werte nicht wie erwartet zurückgibt.

UPDATE: Genau dies in einem anderen Apple-Dokument gefunden:

Achtung: Da die Ansicht der Delegierten Schicht ist, sollten Sie nie die Ansicht als Delegierter eines anderen CALayer Objekts festgelegt. Darüber hinaus sollten Sie niemals den Delegaten dieses Layers ändern.

Antwort

3

Der Delegat wird von CALayers verwendet. Im Fall von UIVIew ist die Ansicht selbst der Delegierte und sollte wie Sie gefunden haben, nicht geändert werden.

Wenn Sie Ihren eigenen CALayer erstellen, können Sie den Delegaten verwenden, um Inhalte bereitzustellen oder manuell auf die Ebene zu zeichnen.

Weitere Informationen finden Sie im Core Animation Guide.

+0

Kannst du eine gute Seite empfehlen, die eigentlich eine Demo/Anleitung hat, die den Delegaten benutzt, um seinen Inhalt manuell zu zeichnen? – haroldcampbell

+0

Apple-Dokumentation ist der einzige Ort, den ich kenne. Checkout "Bereitstellen von Ebeneninhalt" im Core Animation Programming Guide – amattn

Verwandte Themen