2011-12-28 15 views
5

के पूरा होने का पता लगाने तो,एनीमेशन

मैं CABasicAnimation के साथ एक सरल एनीमेशन प्रदर्शन (जैसा कि नीचे दिखाया गया है)।

CAAnimationGroup *theGroup = [CAAnimationGroup animation]; 
theGroup.fillMode = kCAFillModeForwards; 
theGroup.removedOnCompletion = NO; 
theGroup.delegate = self; 
theGroup.timingFunction =[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; 

theGroup.duration = inDuration; 
theGroup.repeatCount = 0; 
theGroup.animations = [NSArray arrayWithObjects:rotationZ, theAnimationX, theAnimationY, nil]; // you can add more 

[inLayer addAnimation:theGroup forKey:@"animateLayer"]; 

NSLog (@"ABCD"); 
// This gets called before end of animation 

वहाँ बहुत -(BOOL) isAnimationCompleted; की तरह कोई भी तरीका है कि मैं जब एनीमेशन पूरा हो गया है जान सकता है?

एनीमेशन पूर्ण अंत तक आने के बाद मैं एक विधि को चलाने के लिए चाहता हूं। कोई विचार ?

उत्तर

9

विधि

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

जो आप here से दस्तावेज़ नहीं देख सकते हैं को लागू करें।

+0

इस विधि कुछ भी वापस नहीं करता है। – Legolas

+1

हाँ, इसका रिटर्न प्रकार 'शून्य 'है। लेकिन आपको सूचित किया जाएगा कि इस प्रतिनिधि विधि के माध्यम से एनीमेशन पूरा हो गया है। फिर, आप इसके अंदर आवश्यक विधि को कॉल कर सकते हैं। – Ilanchezhian

+0

सुंदर। धन्यवाद ! – Legolas