2011-01-30 15 views

cevap

24

CAAnimation (bir alt sınıfın alt sınıfı), kullanabileceğiniz temsilci yöntemine animationDidStop:finished: sahiptir.

temsilci özelliğini ayarlayın ve yöntemi uygulamak:

CATransition *transition = [CATransition animation]; 
transition.duration = duration; 
transition.delegate = self; 
//other settings... 
//call addAnimation... 

... 

- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag 
{ 
    //do what you need to do when animation ends... 
} 
+0

@Anna biraz eski soru, ama Apple belgelerine CAAnimation bir örneği kendi başına bir temsilci olarak ayarlanmış olmamalıdır 'dedi. Bunu yapmak (çöp toplama ortamının dışında) tutma döngülerine neden olacaktır. ”Bu sizin cevabınızda yaptığınız gibi değil mi? Ya da hatalıyım, lütfen açıklayınız. –

+0

@flinth: Hayır, 'self',' geçiş'in kendisini değil 'geçişi' oluşturan nesneyi belirtir. Dokümanların ne anlama geldiğine inanıyorum 'geçiş.delegate = geçişi' gibi bir şey yapmayın. – Anna

+0

@Anna oh, doğru olabilir misiniz, yine de bunu uygulamak için başka bir yol görmüyorum :) Açıkladığınız için teşekkürler –