Ändere die Animationszeit für Eigenschaften eines CALayers

8

Ich habe einen CALayer, um eine Änderung seines Bildinhalts zu animieren. Wie kann ich nun ändern, wie lange diese Animation dauert?

    
Alexsander Akers 28.05.2010, 02:41
quelle

3 Antworten

7

Es ist mehr oder weniger einfach. Sie haben einen ivar CALayer *yourLayer . Dann setzen Sie den Delegaten und implementieren die Delegate-Methode -(id<CAAction>)actionForLayer:forKey:

%Vor%     
papr 28.05.2010, 05:52
quelle
19

Sie können einfach anrufen:

%Vor%

in -layoutSublayer oder anderswo, an dem Sie die Layer ändern und erwarten, dass sie implizit animiert werden. Dies wirkt sich auf die aktuelle implizite Transaktion und alle Untertransaktionen innerhalb dieser Transaktion aus.

    
Ben Lachman 19.11.2010 17:42
quelle
10

Eine andere Möglichkeit, dies zu tun:

%Vor%

Dieser Code würde die Änderung des Inhalts des CALayers über 2,5 Sekunden hinweg animieren. Sie können damit auch alle Animationen komplett deaktivieren. So:

%Vor%     
Charliehorse 01.06.2010 13:17
quelle