Wir wissen, dass UIImageView
eine sehr gute Unterstützung für Bildsequenzanimation hat. Wir können leicht ein Array von UIImage-Objekten erstellen, die animationImages
-Eigenschaft festlegen, die Animationsdauer konfigurieren, die Anzahl der Wiederholungen usw. festlegen und dann einfach auslösen. Aber es scheint keine Möglichkeit zu geben zu wissen, wann diese Animation beendet ist.iPhone: Der beste Weg, um das Ende von UIImageView Bildsequenzanimation zu erkennen
Sagen wir, ich habe zehn Bilder und dann möchte ich eine Animation (Wiederholung count = 1) mit ihnen ausführen. Und wenn die Animation vorbei ist, möchte ich einen anderen Code ausführen. Was ist der beste Weg zu wissen, dass die Animation beendet ist?
Ich verstehe schon, dass ich eine NSTimer
erstellen und planen kann, nach der Animationsdauer zu feuern. Aber Sie können sich wirklich nicht auf Timer verlassen, wenn Sie gute Präzision brauchen.
Also meine Frage ist, gibt es eine bessere Möglichkeit zu wissen, dass eine UIImageView
Bildsequenz-Animation ohne Verwendung des Timers beendet wurde?
Der Code ist so etwas wie dieses
myImageView.animationImages = images; // images is a NSArray of UIImages myImageView.animationDuration = 2.0; myImageView.animationRepeatCount = 1; [myImageView startAnimating]
mit einem Beispielcode bearbeitet – taskinoor
Haben Sie tatsächlich versucht, einen Timer zu verwenden? Es ist wahr, dass das Timing nicht 100% genau ist, aber AFAIK kann man sich auch nicht auf das Timing anderer Animationen verlassen. Ich wäre nicht überrascht, wenn die integrierte UIImageView-Animation selbst einen Timer verwendet. –
ya ich habe Timer versucht. Genau das benutze ich gerade jetzt. das ist in vielen Fällen in Ordnung, aber gut ... nicht 100% :-) – taskinoor