मैं कोर एनीमेशन कैलियर की पृष्ठभूमि रंग को एनिमेट करने के लिए CABasicAnimation बनाने की कोशिश कर रहा हूं, लेकिन मैं एनीमेशन को पास करने के लिए CGColorRef मान को सही तरीके से लपेटने का तरीका नहीं समझ सकता। उदाहरण के लिए:आप कैलियर की पृष्ठभूमि को स्पष्ट रूप से एनिमेट कैसे करते हैं?
CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB();
CGFloat values[4] = {1.0, 0.0, 0.0, 1.0};
CGColorRef red = CGColorCreate(rgbColorspace, values);
CGColorSpaceRelease(rgbColorspace);
CABasicAnimation *selectionAnimation = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
[selectionAnimation setDuration:0.5f];
[selectionAnimation setToValue:[NSValue valueWithPointer:red]];
[layer addAnimation:selectionAnimation forKey:@"selectionAnimation"];
पृष्ठभूमि रंग संपत्ति के लिए कुछ नहीं कर रहा है, मुझे लगता है क्योंकि एक सूचक एक NSValue में लिपटे के रूप में यह सौंपने जिस तरह से यह साथ दी जाने वाली नहीं है।
पृष्ठभूमि रंगर कैलियर की एक एनिमेटेबल संपत्ति है, इसलिए मेरा सवाल है: आप इस विशेष संपत्ति (अधिमानतः मैक/आईफोन प्लेटफ़ॉर्म-स्वतंत्र तरीके से) के लिए से या मूल्यों को कैसे सेट करते हैं?
मीठे। आपको लगता है कि वे टाइपकास्ट को आईडी पर कहीं भी दस्तावेज करेंगे। हां, मैं अपने जीवन को एक निहित एनीमेशन के साथ आसान बना सकता हूं, लेकिन यह मुझे परेशान कर रहा था। इसे जारी रखने के लिए, आपको केवल एनीमेशन के fillMode को केसीएफ़िलमोड फॉरवर्ड पर सेट करना है और हटाया गया है NO को पूर्ण करने के लिए। –
+1 अच्छा, एक आकर्षण की तरह काम करता है! –
या आप अपने आप को समय बचा सकते हैं और फेसबुक पॉप लाइब्रेरी का उपयोग कर सकते हैं: https://github.com/facebook/pop। यहां उदाहरण: https://github.com/maxmyers/FacebookPop – Benjamin