Ich habe mit dem Zeichnen eines Pfades mit einem CAShapeLayer herumgespielt, wie in diesem großartigen Artikel beschrieben, Ссылка , aber ich frage mich, ob es eine Möglichkeit gibt, das Füllen einer Ebene zu animieren.
Zum Beispiel habe ich etwas Text, den ich auf dem Bildschirm zeichnen möchte, aber ich konnte nur den Strich des Textes und nicht die Füllung zeichnen. Ein anderes Beispiel, ich habe eine Sternform, die ich animieren möchte, dass sie ausgefüllt wird.
Ist dies mit einem CAShapeLayer oder einem anderen Objekt möglich?
Danke!
Es ist die meiste Zeit der gleiche Code, Sie müssen nur verschiedene Werte für fromValue
und toValue
Ihrer CABasicAnimation
festlegen. Ich habe eine Kategorie erstellt, die mir ein CABasicAnimation
zurückgibt:
Animation für StrokeEnd
%Vor%Animation für fillColor
%Vor% Das zurückgegebene CABasicAnimation
muss nur zu einem CAShapeLayer
hinzugefügt werden:
Ja, das ist möglich.
CAShapeLayers haben eine fillColor-Eigenschaft, die animierbar ist.
Es funktioniert genauso wie das Ändern von strokeEnd / strokeStart, wie Sie es bereits mit Ihrer Animation gemacht haben.
Tags und Links ios animation core-animation calayer cashapelayer