2010-02-20 9 views
5

मैं एक्स अक्ष के चारों ओर एक UILabel घुमाएगा, और इसे एनिमेट करना चाहता हूं। लेकिन जब एनीमेशन शुरू होता है, तो लेबल का पाठ क्षैतिज रूप से दो में कट जाता है। नीचे आधा गायब हो जाता है, ऊपरी आधा घूर्णन हो रहा है। क्यूं कर?आईफोन एनीमेशन: एक्स अक्ष के आस-पास एक यूलाबेल घूर्णन क्यों करता है इसके नीचे आधा कटौती?

CATransform3D _3Dt = CATransform3DMakeRotation(radians(90.0f), 1.0, 0.0, 0.0); 

CABasicAnimation *transformAnimation = [CABasicAnimation animationWithKeyPath:@"transform"]; 

transformAnimation.removedOnCompletion = NO; 

transformAnimation.toValue = [NSValue valueWithCATransform3D:_3Dt]; 

transformAnimation.fillMode = kCAFillModeForwards; 

(एसडीके 3,0)

उत्तर

13

एक्स अक्ष:

यहाँ कोड है? इसका मतलब है कि यूआईएलएबल के घूर्णन के दौरान z > 0 (स्क्रीन के सामने) होगा और आधे में z < 0 (स्क्रीन के पीछे) होगा।

यदि z == 0 पर अन्य परतें हैं तो वे आपके UILabel के z < 0 आधे हिस्से को कवर करेंगे।

अपने लेबल की परत zPosition बढ़ाने की कोशिश करें।

+0

वह था, धन्यवाद! – johnnyMac

+0

बहु-परत दृश्यों में सही ढंग से निष्पादित 3 डी रूपांतरणों के लिए यह महत्वपूर्ण है। +1, खासकर जब से इस तरह के एक महत्वपूर्ण बिंदु का उल्लेख नहीं किया जाता है। प्रत्येक ट्यूटोरियल को क्रॉस-दूषितता से बचने के लिए zPosition को समायोजित करना चाहिए ... – SG1

+0

मुझे अपनी घुमावदार छवियों (UIImageView) के साथ एक ही समस्या थी। मुझे नहीं पता कि मुझे यह जवाब मिलने से पहले कितने घंटे समाधान की तलाश में था। आपका बहुत बहुत धन्यवाद! –