Ich verwende eine Rotationstransformationsanimation in einem Animationsblock mit dieser Transformation:
%Vor%Die Animation beginnt und der Benutzer tritt in ein anderes Ereignis ein, bei dem die Drehung auf ein neues Ziel verschoben werden muss. Um ein realistisch aussehendes Verhalten zu berechnen, muss ich wissen, wie hoch der Grad der Drehung ist, damit die nächsten Drehgrade angemessen addiert werden können.
Dies ist eine alte Frage, aber ich bin auf diese Antwort gestoßen, als ich versuchte, den aktuellen Drehwinkel während einer Schlüsselbildanimation zu finden: -
%Vor%Scheint für mich zu arbeiten. Auch, nett und prägnant.
Sie können den aktuellen Status einer animierenden Ebene abrufen, indem Sie die presentationLayer verwenden. Angenommen, Sie haben keine anderen Transformationen auf den Layer angewendet, können Sie den aktuellen Winkel des rotierenden Layers mit einem Code wie dem folgenden extrahieren:
%Vor%In einer ansonsten unmodifizierten Transformation sind die m11- und m12-Werte Koordinaten, die auf dem Einheitskreis liegen, so dass Sie Trigonometrie verwenden können, um den Winkel zu bestimmen, den sie beschreiben.
EDIT (18/5/2009): CALayer wurde eine Typumwandlung hinzugefügt, um Compiler-Warnungen zu beseitigen und die Namensgebung der Transformation in den Trigonometrie-Operationen zu korrigieren.
Sie können es auch mit Matrizen und Trigonometrie berechnen. Siehe meine Antwort für diese Frage
Tags und Links iphone core-animation