2009-04-03 5 views
17

मैं एक CGPath के आधार पर एक कैलियर की स्थिति को एनिमेट करना चाहता हूं, लेकिन मैं इसे पीछे की ओर खेलना चाहता हूं।क्या CAKEFrameAnimation में पीछे की ओर पथ बनाना संभव है?

क्या पीछे की ओर पथ को एनिमेट करने या सीजीपाथ को उलटने का कोई तरीका है?

उत्तर

4

यह सबसे अच्छा समाधान नहीं हो सकता है, लेकिन यह मेरे लिए काम करता है। मैंने एनीमेशन को ऑटोरेवर के बारे में बताया, फिर इसे आधे रास्ते में शुरू किया। लेकिन इसे फिर से एनिमेट करने से रोकने के लिए मुझे इसे जल्दी समाप्त करने की आवश्यकता थी।

- (void) animate { 
    CAKeyframeAnimation * pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"]; 
    pathAnimation.path = path; 
    pathAnimation.duration = 15.0; 
    pathAnimation.calculationMode = kCAAnimationPaced; 
    pathAnimation.timeOffset = pathAnimation.duration; 
    pathAnimation.autoreverses = YES; 

    NSString * key = @"pathAnimation"; 
    [animatedView.layer addAnimation:pathAnimation forKey:key]; 
    [NSTimer scheduledTimerWithTimeInterval:pathAnimation.duration target:self selector:@selector(endAnimation:) userInfo:key repeats:NO]; 
} 

- (void) endAnimation:(NSTimer *)timer { 
    [animatedView.layer removeAnimationForKey:timer.userInfo]; 
} 

यदि कोई बेहतर तरीका मौजूद है, तो मैं जानना चाहता हूं।

28
animation.speed = -1; 

?

+0

हाँ। यह निश्चित रूप से बेहतर है। काश मैं उस बारे में सोचा था। –

+0

निश्चित रूप से बड़ा धन्यवाद! – BoilingLime

+0

आपने इसे कहाँ से सीखा? मुझे इस सुविधा सेब डॉक्स में नहीं मिल रहा है। – surfrider