Frage

Mit iPhone CALayer, ich möchte eine Rotation Animation für meinen Geist Schicht, aber ich möchte auch einen Rückruf für die Animation Ende, heiß, das zu tun?

Ich denke, vielleicht sollte ich CABasicAnimation verwenden, aber ich weiß nicht, wie Rotation zu tun CABasicAnimation verwenden, irgendeine Idee?

Danke

War es hilfreich?

Lösung

Wenn Sie einen Delegaten für eine CAAnimation einstellen, können Sie die Callback-Methode hinzufügen:

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag

Das wird aufgerufen, wenn die Animation abgeschlossen ist. Geben Sie für Beispiele von Animationen über eine CGAffineTransform Transformationsmatrix drehen, wie pro diesen Link:

http://iphonedevelopment.blogspot.com/2008/10/demystifying- cgaffinetransform.html

Andere Tipps

Als Nebenwirkung, können Sie auch die gleiche Art von einem Rückruf für eine UIView Animation durch Ihren Anruf Umwickeln einen UIView in dem folgenden Code-Block zu drehen

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5f];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(rotationAnimationHasFinished:finished:context:)];
// Rotate the view here
[UIView commitAnimations];

und dann eine delegierte Methode definieren

- (void)rotationAnimationHasFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context;
{
// Handle the completion of the animation
}

in Ihrem Delegaten, wird tun, was Sie brauchen, um, nachdem die Animation abgeschlossen ist.

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