Ich brauche Hilfe bei Animation Rückrufe (iPhone)
Bin ich erstellen, eine Anwendung in iPhone, und ich habe mehrere UIViews und Ebenen in es. Ich bin dabei einige Animationen mit CAKeyframeAnimation Klasse und da die Animationen haben werden angekettet, ich habe überschrieben, die animationDidStop Methode in der UIView.
Ich bin immer der Rückrufe richtig war, aber ich konnte einfach nicht herausfinden, wie ich finde, die animation endete damit, dass ich anfangen kann die nächsten. Nur die Parameter an die callback-Funktion ist eine CAAnimation-Objekt und einen boolschen.
Kann ich umgehen dieses problem durch festlegen einer Eigenschaft in der Klasse und über ein enum-Element für die verschiedenen Animationen, die ich verwende. Aber ich wollte nur wissen, ob es eine Baujahr-Attribute in der callbacks, die ich einstellen kann in der CAKeyframeAnimation Objekt und dann finden das gleiche in den Rückruf.
Jede Hilfe wäre sehr geschätzt werden!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen Namen angeben, der für eine animation und Lesen Sie es in Ihre Delegat-Methode.
...
Ich weiß, dass Sie sagte, dass Sie CAKeyframeAnimations, aber wenn Sie wollen, einfache animation von UIView Eigenschaften (Herkunft, Grenzen, alpha, etc.), Sie können wickeln Sie die änderung der Eigenschaft oder Eigenschaften, die in einem begin /commit-block und geben Sie eine delegate-Methode, die aufgerufen wird, nach Abschluss der animation. Solange die delegate-Methode benötigt drei Argumente, Sie können es nennen, was Sie wollen. Zum Beispiel:
wird verursachen, dass die Methode
genannt zu werden. Die willkürliche Benennung dieser ermöglicht würden Sie mit einem Mittel der Trennung von Handhabung für den Abschluss der verschiedenen Animationen. Ich bevorzuge diese für einfache Animationen.
Für den Umgang mit komplexeren Animationen, die die direkte Interaktion mit CALayers, die animationDidStop:fertig: delegate-Methode wird die animation wieder-Objekt beendet hat. Wenn Sie eine Instanz des Delegaten für mehrere Animationen, die Sie erstellen könnte ein NSMutableDictionary von Animationen und NSNumbers für die Verwendung in einer switch-Anweisung innerhalb der animationDidStop:fertig: - Methode. Wie erstellen Sie die CAKeyframeAnimation, verwenden Sie setObject:forKey: ordnen Sie es mit der passenden Nummer, dann verwenden Sie objectForKey: finden Sie die Nummer, die animation in der completion-Methode und feed, der in einer switch-Anweisung.