2009-01-01 32 views
5

iPhone CALayer'ı kullanarak, ruhum katmanım için bir rotasyon animasyonu istiyorum, ancak animasyonu sonlandırmak için bir geri arama yapmak istiyorum.Animasyon Sonrası Geri Arama?

Belki de CABasicAnimation'ı kullanmalıyım, fakat CABasicAnimation'ı kullanarak herhangi bir fikri nasıl döndüreceğini bilmiyorum.

Teşekkür

cevap

6

Bir CAAnimation için temsilci ayarlarsanız, geri arama yöntemi ekleyebilirsiniz: animasyon tamamlandığında çağrılan

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

. Bu bağlantıyı gereğince, bir CGAffineTransform dönüşüm matrisi üzerinden animasyonlar dönen örnekleri için bak:

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

3

bir gibi bir kenara, döndürmek çağrı sararak UIView animasyon için bir geri aynı tür yapmak da yapabilirsiniz kod

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

aşağıdaki blokta ve daha sonra bir temsilci yöntemini

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

tanımlayan UIView Delegenin içinde, animasyon tamamlandıktan sonra ihtiyacınız olan her şeyi yapacaksınız.

İlgili konular