Mit iOS-SDK-Animationen können Sie Ihre Anwendungen mit ansprechenden visuellen Effekten und Übergängen aufwerten. Mit dem iOS-SDK werden Animationen häufig verwendet, um Ansichten neu zu positionieren, Ansichten zu ändern, Ansichten aus Ansichtshierarchien zu entfernen oder hinzuzufügen und Ansichten insgesamt auszublenden. Lesen Sie weiter, um zu erfahren, wie diese Effekte erreicht werden!
Um eine Animation mit dem iOS SDK zu erstellen, müssen Sie keinen benutzerdefinierten Zeichnungscode schreiben. Alles, was Sie tun müssen, ist, die Animationen mit ein paar einfachen Aufrufen auszulösen, und das Core-Animations-Framework erledigt die harte Arbeit. Mit diesem Framework können Sie eine Animation in nur wenigen Zeilen Code erstellen, und das ist gut für uns als faule Entwickler!
In UIKit werden Animationen mit UIView-Objekten ausgeführt. Sie können Änderungen an den Eigenschaften der Ansicht animieren oder Übergangsanimationen verwenden, um einen Satz von Ansichten durch einen anderen zu ersetzen. Sie können die folgenden UIView-Eigenschaften mit UIKit animieren:
Wenn Ihre Anwendung unter iOS 3.2 und früheren Versionen ausgeführt wird, müssen Sie die beginAnimations: Kontext:
und CommitAnimations
Klassenmethoden von UIView zur Definition Ihrer Animationsblöcke. Dies ist die Methode, die ich in diesem kurzen Tipp verwenden werde, da sie auf allen iOS-Versionen funktioniert.
Um einen Animationsblock zu beginnen, verwenden Sie [UIView beginAnimations: (NSString *) Kontext: (Void *)];
. Nachdem Sie den Code zum Einrichten Ihrer Animation geschrieben haben (d. H., Die UIView-Eigenschaften ändern), beenden Sie den Animationsblock mit [UIView commitAnimations];
.
Sie können einen Animationsblock mit den folgenden UIView-Klassenmethoden konfigurieren:
Mit dem Anfangs- und Commit-Code oben können Sie eine Animation erstellen. Um dies in der Praxis zu sehen, betrachten wir ein Beispiel:
[UIView beginAnimations: @ "My First Animation" -Kontext: Null]; [UIView setAnimationDuration: 1.0]; [UIView setAnimationDelay: 2.0]; self.view.backgroundColor = [UIColor redColor]; [UIView commitAnimations];
Wie Sie sehen, habe ich den Animationsblock mit gestartet [UIView beginAnimations: (NSString *) Kontext: (Void *)];
und nannte es "Meine erste Animation". Danach stelle ich die Dauer auf 1 Sekunde und die Verzögerung auf 2 Sekunden ein, so dass die Animation nach zwei Sekunden startet und die Fertigstellung 1 Sekunde dauert. Mit dieser Animation animiere ich die Hintergrundfarbe der Ansicht zu einer roten Farbe. Wenn die Hintergrundfarbe der Ansicht bereits rot war, wird die Animation nicht angezeigt, sie wird jedoch animiert. Zum Schluss beende ich meinen Animationsblock mit [UIView commitAnimations];
.
Hier ist ein Beispiel einer Animation, bei der wir uns in einer Ansicht drehen:
[UIView beginAnimations: @ "Rotate" -Kontext: Null]; [UIView setAnimationDuration: 1.0]; [UIView setAnimationDelegate: self]; [UIView setAnimationDidStopSelector: @selector (rotateBack)]; theView.transform = CGAffineTransformMakeRotation (M_PI); [UIView commitAnimations];
Das Setup dieses Animationsblocks sieht genauso aus wie das vorherige, nur dieses Mal habe ich den Animationsdelegierten und die transform -Eigenschaft verwendet. Wenn Sie die verwenden möchten habe Wahlschalter angehalten Methode, müssen Sie den Delegaten auf setzen selbst. Wenn also diese Animation fertig ist, ist die Methode RotierenZurück wird angerufen werden. Mit der transform -Eigenschaft können Sie eine Ansicht skalieren, drehen oder übersetzen. Die Transformation erfolgt immer in 2D. Für den Drehwinkel habe ich M_PI verwendet, wie Sie sehen können. Standardmäßig arbeitet Objective-C mit dem Bogenmaß statt mit Grad. 360 Grad entspricht 2 ?, die Ansicht wird also um 180 Grad gedreht.
- (void) rotateBack [UIView beginAnimations: @ "Zurück drehen" Kontext: nil]; [UIView setAnimationDuration: 1.0]; theView.transform = CGAffineTransformIdentity; [UIView commitAnimations];
Dies ist die Methode, die aufgerufen wird, wenn die Drehanimation durchgeführt wird. In diesem Animationsblock drehen wir die Ansicht wieder an ihren ursprünglichen Ort. Das machen wir mit der CGAffineTransformIdentity
Funktion. Dadurch wird die Rotationstransformation rückgängig gemacht.
Möchten Sie mehr erfahren? Im angefügten Quellcode finden Sie weitere Animationsbeispiele.
Ich habe gehofft, dass Ihnen dieser iOS SDK-Tipp für Animationen gefallen hat! Bitte teilen Sie mir Ihr Feedback mit, indem Sie unten einen Kommentar hinterlassen. Sie können auch Vorschläge für zusätzliche Tutorials vorschlagen, die wir in Zukunft behandeln werden!