Frage

ich Hilfe bei einigen Strategien möchten einige Animationen sequenzieren.

I subclassed UIImageView, so dass ich einige benutzerdefinierte Animation Aktionen auf ein Bild schreiben konnte. Ich implementiert ein paar Methoden, wie Aktionen verwendet werden, die ich auf meinem Bild nennen könnte Beispiel:

-(void)rotateAnim; //rotates the image by a few degrees using a CGAffine Transform

-(void)numbersFlashAnim; //uses the UIImageVew.animationImages array for a 14 frame animation.

-(void)moveLeftAnim; //uses another CGAffine Transform to change the imageView's position.

In meiner viewDidLoad Methode erstelle ich eine Instanz meiner UIImageView-Unterklasse. Welche Möglichkeiten existieren, um diese Animationen in Folge zu nennen?

Ich dachte über eine NSTimer mit den Animationen zu handhaben, war aber nicht sicher, wenn Sie ein Objekt NSTimer schreiben könnten mehrere Methodenaufrufe zu behandeln.

Beispiel:

[imageView rotateAnim]; //when this animation is done, I want to call:
[imageView numbersFlashAnim];

Ich habe in Bezug auf die Verwendung eines NSTimer mehrere Fragen gesehen, aber keine, die speziell auf dieses Problem beziehen. Hinweis: Ich sah, dass die Entwickler docs auf der Apple-Website auch die Verwendung des perform empfehlen: withobject: afterDelay: in einigen Fällen aber frage mich, ob das genug Flexibilität bieten würde.

Darüber hinaus habe ich auch schon einen Blick auf der Cocos2d Rahmen genommen, und obwohl ich ihre Methoden verwenden kann ~. (Sequenz Aktionen: etc,) Ich wähle dieses Problem mit UIKit / Foundation zu lösen, etc

War es hilfreich?

Lösung

Benutzen Sie Animation? Ich meine, Sie Ihr Bild drehen kann innerhalb [UIView beginAnimations: (NSString *) animationID Kontext: (void *) Kontext] Block. Dort können Sie eine delegierte Methode hinzufügen, die nach dem aktuellen Animation endet aufgerufen wird. Und dort können Sie Ihre numbersFlashAnim nennen. (Sorry für mein Englisch ;-))

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top