Animationen mit SwiftUI – Teil 5

Animationen konfigurieren

In den vorangegangenen Teilen dieser Artikelserie (siehe Linksammlung am Ende des Artikels) haben wir bereits die grundlegende Funktionsweise und Erstellung von Animationen in SwiftUI kennengelernt. An dieser Stelle möchte ich euch verschiedene Methoden vorstellen, mit denen ihr vorhandene Animationen auf Basis der Animation-Structure zusätzlich konfigurieren könnt. Bei diesen Methoden handelt es sich um:

  • delay(_:)
  • speed(_:)
  • repeatCount(_:autoreverses:)
  • repeatForever(autoreverses:)

Mit delay(_:) verzögert ihr die Ausführung einer Animation um die übergebene Dauer in Sekunden. Möchtet ihr eine lineare Animation so beispielsweise erst nach drei Sekunden ausführen, könnt ihr folgende Deklaration nutzen:

Animation.linear.delay(3)

Mit speed(_:) beeinflusst ihr die Geschwindigkeit, mit der eine Animation abläuft. Der übergebene Wert wird hierbei mit der zugrundeliegenden Ausführungsgeschwindigkeit multipliziert. Ein Wert von 2 verdoppelt demnach das Tempo der Animation, während ein Wert von 0.5 es halbiert. So verdreifacht das folgende Beispiel die Ausführungsgeschwindigkeit einer linearen Animation:

Animation.linear.speed(3)

Die Methode repeatCount(_:autoreverses:) ermöglicht es euch, eine Animation mehrmals zu wiederholen. Wie oft genau, definiert ihr über den ersten Parameter. autoreverses steuert, ob bei den Wiederholungen die Animation auch „rückwärts“ durchgeführt werden soll. Standardmäßig entspricht dieser Parameter true, was für die meisten Fälle auch passend sein dürfte. Wollt ihr an dieser Einstellung nichts ändern, müsst ihr den autoreverses-Parameter bei Aufruf der Methode entsprechend gar nicht erst angeben.

repeatForever(autoreverses:) erfüllt im Grunde die gleiche Aufgabe wie repeatCount(_:autoreverses:), nur mit dem Unterschied, dass die Animation unendlich wiederholt wird. Dem autoreverses-Parameter fällt der selbe Zweck zu wie unter repeatCount(_:autoreverses:). Den beispielhaften Einsatz beider Methoden zeigen die folgenden Aufrufe:

Animation.linear.repeatCount(5)

Animation.linear.repeatForever()

Mithilfe der vorgestellten Methoden habt ihr demnach die Möglichkeit, vorhandene Animationen zusätzlich zu konfigurieren. Ihr könnt eine Verzögerung für die Ausführung der Animation festlegen, ihre Geschwindigkeit ändern und definieren, ob und wie oft sich die Animation wiederholen soll.

Euer Thomas

Vorangegangene Artikel dieser Serie


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert