2009-04-19 11 views
2

Ich benutze die UIImageView, um eine Reihe von Bildern zu animieren. Ich weiß, dass ich die Geschwindigkeit ändern kann, indem ich animationDuration ändere, aber das scheint nicht zu wirken, bis die Animation neu gestartet wird.Ändern UIImageView Animationsgeschwindigkeit

Mein Problem ist, dass ich die Animation nicht wirklich neu starten möchte, da ich nur die Geschwindigkeit einmal pro Zyklus ändern kann, es scheint auch keine Möglichkeit zu geben herauszufinden, welcher Frame ist Derzeit wird gezeigt, und ich würde daher auf einen Timer verlassen müssen, um zu "raten", welcher es ist.

Also meine Frage ist, ob es eine Möglichkeit gibt, die Geschwindigkeit ohne Neustart der Animation zu ändern, und wenn nicht, gibt es eine Möglichkeit, das oben erwähnte Problem zu vermeiden? Ich bin nicht so scharf darauf, meine eigene Animationsklasse zu schreiben, aber es könnte am Ende sein, wenn es keine bessere Lösung gibt.

Antwort

0

Ich bin mir nicht sicher, ob dies auf die UIImageView geordnete Klasse gilt, aber UIView Klasse hat die folgende Eigenschaft, die standardmäßig auf NO:

setAnimationBeginsFromCurrentState:(BOOL)fromCurrentState 

Upon YES ändern und den Aufruf der commitAnimations Verfahren die nachfolgenden Aufruf beginAnimations:context: beginnt genau an dem Punkt, an dem die Animation zuvor gestoppt wurde.

+0

Ich denke, was er fragt ist die Fähigkeit von UIImageViews, durch eine Reihe von Bildern als "Animation", nicht Ihre traditionellen Core-Animation-fähigen Effekte zu durchlaufen. –

Verwandte Themen