2011-01-20 12 views
13

CAAnimation हटाया गया अपूर्ण संपत्ति प्रदान करता है जो YES को डिफ़ॉल्ट करता है।क्या हटाया गया हैअनुम्प्लेशन = नहीं?

के इन तथ्यों को पहचान करते हैं:

ए) कोर एनिमेशन केवल प्रस्तुति ट्री, लेकिन नहीं मॉडल ट्री प्रभावित करता है। जब एक एनीमेशन किया जाता है, तो आप मॉडल ट्री में जो कुछ भी सेट करते हैं उसे देखकर समाप्त होते हैं। आप उदाहरण के लिए kCAFillModeBoth पर fillMode सेट कर सकते हैं, जो एनीमेशन पूरा होने के बाद प्रेजेंटेशन ट्री से मॉडल ट्री पर मूल्य को स्वैप कर देगा। इससे आपकी एनीमेशन वापस नहीं आती है (जो आप चाहते हैं कि सबसे अधिक संभावना है)।

बी) मैंने एक प्रयोग किया था। हटाया गयाऑनप्लेप्शन = नहीं नहीं केसीएफ़िलमोडबॉथ या केसीएफ़िलमोड फॉरवर्ड के समान प्रभाव पड़ता है। अधिक सटीक होने के लिए: एनीमेशन पूरा होने पर परिणाम कैसा दिखता है इस पर इसका कोई असर नहीं पड़ता है। गीलेर इसे "हटाया गया" है या नहीं, ऐसा लगता है कि प्रेजेंटेशन ट्री को बिल्कुल प्रभावित नहीं किया जाता है।

यह समझाने के लिए कि क्या हटाया गया है, वास्तव में करता है, दस्तावेज इस संबंध में बहुत कमजोर है। मुझे यह नहीं मिला। क्या कोई यह समझा सकता है कि वास्तव में क्या हटाया जाएगा, और इसे हटाने का क्या फायदा है?

मेरा अनुमान है कि ऐप्पल एनिमेटर ऑब्जेक्ट के बारे में बात कर रहा है, जिसे परत में जोड़ा गया है -एडएनीमेशन: केके: ... लेकिन फिर: इसे चारों ओर रखने का क्या मतलब है?

उत्तर

12

removedOnCompletion:

असल में, एनीमेशन जब कि एनीमेशन किया जाता है परत की कार्रवाई से हटा दिया है।

YES - यदि आप केवल एक बार एनीमेशन का उपयोग करना चाहते हैं, तो आपको पूरा होने पर परत से एनीमेशन को हटाने के लिए प्रतिनिधि विधि का उपयोग करने की आवश्यकता नहीं है।

fillMode:

यह गुण क्या होता है नेत्रहीन जब एनीमेशन पूरा हो गया है, निर्दिष्ट भरण मोड के प्रकार पर निर्भर नियंत्रित करता है।

12

यदि removedOnCompletion हाँ है, तो एनीमेशन पूरा होने पर हटा दिया जाएगा और बिल्कुल "आगे बढ़ने" के लिए कुछ भी नहीं है। तो यदि आप fillMode का उपयोग करना चाहते हैं तो आपको removedOnCompletionNO पर सेट करना होगा।

+0

हाँ fillmode कोई प्रभाव नहीं दिखाता है क्योंकि हम एनीमेशन को हटा रहे हैं इसलिए वस्तु मूल स्थिति में वापस आती है –

0

दृश्य की प्रस्तुति परत एनीमेशन द्वारा प्रभावित होती है, यहां तक ​​कि इसे रोक दिया जाता है। एनीमेशन को हटाते समय, प्रस्तुति परत दृश्य की मॉडल परत के मूल्य पर वापस आ जाएगी, इसलिए आपको एक अंक के रूप में परिणाम मिलेगा।

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