Arbeiten mit CAReplicatorLayer

9

Ich habe versucht, mit dem CAReplicatorlayer, CATextLayer und sehr einfachen Animationen einen coolen Texteffekt zu erzeugen. Ich versuche, die Buchstaben so aussehen zu lassen, als würden sie vom oberen Rand des Bildschirms fallen, gefolgt von coolen Replikatoren, die immer weniger sichtbar werden. Ich habe es geschafft, diesen Effekt aber nicht vollständig zu machen.

Bisher ist das, was ich habe:

%Vor%

Ich habe zwei Probleme:

  1. Die replizierten Layer beginnen im Endpunkt.
  2. Wenn die Hauptschicht ihren letzten animierten Punkt erreicht, stoppt die Animation und die replizierten Ebenen können ihre Animation nicht beenden.
Or Ron 28.09.2011, 12:07
quelle

1 Antwort

5

Wenn Sie die richtigen Werte für die Eigenschaften fillMode und removedOnCompletion des Animationsobjekts festlegen, werden Ihre Probleme hoffentlich gelöst:

  

"Die replizierten Layer beginnen am Endpunkt."

Dies wird durch den Wert verursacht, der der instanceDelay -Eigenschaft zugewiesen ist, wodurch die Animation in Ihrem Beispiel um 0.15s verzögert wird. Um die Animation aus dem fromValue darzustellen, müssen Sie diese Verzögerung berücksichtigen, indem Sie den fillMode der Animation auf kCAFillModeBackwards setzen.

%Vor%
  

"Wenn die Hauptschicht ihren letzten animierten Punkt erreicht, stoppt die Animation   und die replizierten Ebenen konnten ihre Animation nicht beenden. "

Dies geschieht, weil die Animation standardmäßig von den Animationen der Zielebene entfernt wird. 1 . Sie können dieses Standardverhalten überschreiben, indem Sie das Animationsattribut removedOnCompletion auf NO setzen.

%Vor%

Hoffe, das hilft. :)

    
0x5f3759df 05.10.2012, 23:30
quelle