एक चिकनी वक्र के साथ एनिमेट करने के लिए, आप एक CAKeyframeAnimation का उपयोग करना चाहेंगे। this answer में मैं एक संयुक्त एनीमेशन के लिए कोड प्रदान करता हूं जो एक वक्र के साथ एक छवि दृश्य को स्थानांतरित करता है, जबकि इसका आकार बदलता है और इसे बाहर निकाल देता है।
// Set up path movement
CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
CGPoint endPoint = CGPointMake(480.0f - 30.0f, 40.0f);
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, viewOrigin.x, viewOrigin.y);
CGPathAddCurveToPoint(curvedPath, NULL, endPoint.x, viewOrigin.y, endPoint.x, viewOrigin.y, endPoint.x, endPoint.y);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);
यह (दो नियंत्रण अंक, देखने के मूल में एक और प्रदर्शन के ऊपरी-दाएँ कोने में दूसरे के साथ एक वक्र बनाता लैंडस्केप मोड में: कि कोड के प्रासंगिक भाग इस प्रकार है)। पथ बनाने के लिए, Quartz 2D Programming Guide या Animation Types and Timing Programming Guide देखें।
इस एनीमेशन का उपयोग करने के लिए, आप निम्नलिखित की तरह कुछ का उपयोग कर अपने दृश्य की परत में जोड़ने के लिए की आवश्यकता होगी:
[imageViewForAnimation.layer addAnimation:pathAnimation forKey:@"curveAnimation"];
स्रोत
2009-12-11 13:30:07
बनाने के लिए एक समय समारोह में जोड़ सकते हैं बॉक्स के शीर्ष बाएं बिंदु के नए समन्वय को गणितीय रूप से और समन्वय का अनुवाद तदनुसार करें? –
स्पेनिश में: पैराबॉलिकैंट;) – Escualo
@ जेम्स - जहां तक मैं कह सकता हूं कि केवल एक पंक्ति के साथ अनुवाद करना होगा, लेकिन मैं नहीं चाहता कि यह इस तरह के विकर्ण पर हो। मैं इसे वक्र पर रखना चाहता हूं। – bpapa