हर कोई और प्रत्येक पुस्तक का दावा है कि कैलियर में निहित एनिमेशन हो रहे हैं। हालांकि, हर बार जब मैं इसे सत्यापित करना चाहता था, तो मैं सेट मूल्य पर हार्ड-स्नैप के साथ समाप्त होता हूं। बिल्कुल कोई एनीमेशन नहीं।आईओएस में वास्तव में निहित एनिमेशन कब होते हैं?
यहां एक परियोजना में एक उदाहरण है जहां कुछ और नहीं हो रहा है। मैं बस एक दृश्य बना रहा हूं, फिर इसे कैलियर उदाहरण प्राप्त करें और कुछ ऐसा करें जो पूर्ण रूप से एनिमेटेड होना चाहिए।
[theLayer setValue:[NSNumber numberWithFloat:M_PI * 1.1] forKeyPath:@"transform.rotation.z"];
एक और एक:
CGRect currentBounds = theLayer.bounds;
currentBounds.size.width += 120.f;
[self.animatedLayer setBounds:currentBounds];
दृश्य निश्चित रूप से कुछ सामान शामिल है तो मैं परिवर्तन देख सकते हैं। मुझे दृश्य परिवर्तन दिखाई देता है, लेकिन एक कठिन तस्वीर के रूप में। बिल्कुल कोई एनीमेशन नहीं।
तो या तो उन सभी पुस्तकों में गलत हैं और कोर एनीमेशन और निहित एनिमेशन के बारे में लिखते समय पुराने मैक ओएस एक्स ज्ञान को ध्यान में रखते हैं, या मैं कुछ गलत कर रहा हूं। क्या कोई एक कामकाजी उदाहरण प्रदान कर सकता है जो आईफोन पर निहित एनिमेशन दिखाता है?
महान जवाब! मैं उत्सुक हूं - आपने यह सारी विस्तृत जानकारी कहां प्राप्त की? मैंने इतनी सारी किताबें और स्रोतों की जांच की लेकिन इन विवरणों की कमी है। –
अधिकतर परीक्षण और त्रुटि। यदि आप UIView उपclass पर '-actionForLayer: forKey: 'को ओवरराइड करते हैं, तो आप कॉल के परिणामों को सुपर से लॉग आउट कर सकते हैं और यह सक्रिय कर सकते हैं कि सक्रिय एनीमेशन ब्लॉक है या नहीं। यदि आप इसके बारे में सोचते हैं तो यह भी समझ में आता है - UIView कैलियर का प्रतिनिधि है, और '-क्शनफॉरलायर: forKey:' यदि आप निहित एनिमेशन अक्षम करना चाहते हैं तो इसमें हुक करने के लिए उपयुक्त जगह है। –
बहुत समझ में आता है। धन्यवाद! –