2010-01-15 14 views
10

मैं आईफोन के लिए कोर-प्लॉट में देख रहा हूं और मुझे वास्तव में इस्तेमाल होने वाले एनीमेशन के किसी भी उदाहरण को खोजने में परेशानी हो रही है।कोर प्लॉट आईफोन एनिमेशन उदाहरण

मुझे जो देखने की ज़रूरत है वह एक उदाहरण है कि जब कोई बटन क्लिक करता है तो ग्राफ़ में अतिरिक्त प्लॉट जोड़ने के लिए कोर प्लॉट एनीमेशन का उपयोग कैसे करें।

यदि कोई भी उत्पादन और उदाहरण दे सकता है, या मुझे एक लिंक दिखा सकता है, तो यह बहुत अच्छा होगा।

सादर, क्रेग

उत्तर

13

कोर प्लॉट के भीतर सरकारी CPAnimation कक्षाएं सिर्फ अभी stubs हैं। किसी बिंदु पर, हम उन लोगों की पूर्ण कार्यक्षमता को सक्षम करेंगे।

इस बीच, कोर प्लॉट में प्रत्येक दृश्य तत्व कोर एनीमेशन कैलियर है, इसलिए आप मौजूदा कोर एनीमेशन विधियों का उपयोग करके इन्हें एनिमेट कर सकते हैं। उदाहरण के लिए, यदि आप (परीक्षण कोर प्लॉट iPhone आवेदन में) की तरह एक साजिश dataSourceLinePlot कहा जाता है, तो आप साजिश बंद 0.0 का एक अस्पष्टता के साथ शुरू कर सकता है:

dataSourceLinePlot.opacity = 0.0f; 
[graph addPlot:dataSourceLinePlot]; 

और उसके बाद में यह फीका करने के लिए अपनी अस्पष्टता चेतन:

CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"]; 
fadeInAnimation.duration = 1.0f; 
fadeInAnimation.removedOnCompletion = NO; 
fadeInAnimation.fillMode = kCAFillModeForwards; 
fadeInAnimation.toValue = [NSNumber numberWithFloat:1.0]; 
[dataSourceLinePlot addAnimation:fadeInAnimation forKey:@"animateOpacity"]; 

यह एक दूसरे अंतराल पर मौजूदा ग्राफ पर एक नई साजिश में फीका होगा। आप इसे किसी तरफ से एनिमेट करने के समान कुछ भी कर सकते हैं या ट्रांसफॉर्म का उपयोग इसे स्थिति में स्केल करने के लिए कर सकते हैं। इन प्रकार के प्रभावों को प्राप्त करने के लिए कैट्रानिशन का भी उपयोग किया जा सकता है।

संपादित करें (1/17/2010): कोर प्लॉट आईफोन परीक्षण एप्लिकेशन में ऊपर वर्णित फीड-इन एनीमेशन का एक उदाहरण शामिल है।

+0

ब्रैड, मैंने देखा है कि आप Google कोड पर उदाहरण प्रोग्राम में समाधान कैसे काम करते हैं। मेरी समस्या में मैं एनीमेशन को बटन क्लिक करने के बाद शुरू करना चाहता हूं, यह एनीमेशन कोड को बटन क्लिक ईवेंट में कॉपी करके काम नहीं करता है। कोई मदद? –

+0

इससे कोई फ़र्क नहीं पड़ता कि एनीमेशन कहां रखा गया है, इसे उसी तरह काम करना चाहिए। क्या आप सुनिश्चित हैं कि बटन क्लिक आपकी विधि को ट्रिगर कर रहा है? नमूना कोड में, DataSourceLinePlot का संदर्भ -viewDidLoad विधि के बाहर नहीं रखा जाता है। सुनिश्चित करें कि इस प्लॉट का संदर्भ आपकी विधि के भीतर सही है, ताकि एनीमेशन को गलत परत में जोड़ा जा सके, या शून्य न हो। –

+0

क्षमा करें ब्रैड, मैंने गलत घटना (बटन खींचें) पर बटन कार्रवाई को तार दिया था ... समस्याएं हल हो गईं। प्यार कोर प्लॉट, और अधिक विशेषताओं को देखना पसंद करेंगे। –

संबंधित मुद्दे