2012-03-03 21 views
6

शायद मुझे नहीं मिलता है। जब मैं45 डिग्री से घिरा हुआ UIView गायब हो जाता है?

self.tweetPeak.transform = CGAffineTransformMakeRotation(RADIANS(45)); 

कर जहां कांति एक सरल UIView पर

#define RADIANS(degrees) ((degrees * M_PI)/180.0) 

है वस्तु यह गायब हो जाएगा।

मुझे लगता है कि यह देखने के लिए पतला है। मेरी धारणा यह है कि दृश्य 20 से 45 डिग्री के बीच की सीमा में छोटा हो रहा है।

यह क्या है? मैंने दृश्य अपारदर्शी सेट करने की कोशिश की। कोई प्रभाव नहीं।

क्रिस

+0

क्या यह संभव है कि यह स्क्रीन से घूम रहा हो? –

+0

संबंधित नहीं है लेकिन 'रेडियंस' परिभाषित करने के लिए एक भयानक नाम है। यह कोई संकेत नहीं देता है कि यह क्या कर रहा है या इसका उपयोग कैसे करें। –

+0

@ पॉल.s शैली की बात है, आईएमओ, यह एक मैक्रो के लिए एक अच्छा नाम है, लेकिन मैंने इसे 'TO_RADIANS',' DEGREES_TO_RADIANS' और इसी तरह के लेबल के रूप में देखा है। यह वास्तव में केवल आपकी जरूरत पर निर्भर करता है। –

उत्तर

9

आप रोटेशन के बाद फ्रेम को एडजस्ट करने को रोकने के लिए की जरूरत है, यह बदलने मैट्रिक्स तक फैली अवांछित का कारण बनता है, मैं औपचारिक कारण करने के लिए अनिश्चित हूँ क्यों, लेकिन यह अपने स्वयं का उपयोग कर एप्पल के साथ कुछ है 2 डी/3 डी अनुवाद/रोटेशन/स्केल का प्रतिनिधित्व करने के लिए पारंपरिक मैट्रिस के बजाय मैट्रिक्स सिस्टम। मुझे उस दिन को एक ही समस्या हो रही थी, इसे ठीक करने के बजाय, उस दृश्य को घुमाए जाने के बजाय, मैंने इसे वास्तविक दृश्य के साथ एक कंटेनर बना दिया जिसे मैं अंदर घूमना चाहता था, और उसे घुमाया।

+3

CGAffineTransform और CATransform3D बिल्कुल मानक, पारंपरिक matrices हैं। ऐप्पल अजीब कुछ भी नहीं कर रहा है। आपकी समस्या यह है कि '- [कैलियर फ्रेम]' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ यदि आप ट्रांसफॉर्म बदलते हैं, तो फ्रेम बदल जाएगा। यदि आप फ्रेम को बदलने का प्रयास करते हैं, तो परत इसे काम करने के लिए स्थिति और सीमाओं को समायोजित करने का प्रयास करेगी। समाधान: फ्रेम सेट न करें। –

+0

यदि कोई CATransform3D एक पारंपरिक मैट्रिक्स है, तो मैं पारंपरिक ऑर्थोगोनल मैट्रिक्स कहां सेट अप नहीं कर सकता हूं और फिर भी मेरी परत देख सकता हूं? या उस पर एक परिप्रेक्ष्य? मेरा मतलब है कि मैं आपको संदेह नहीं कर रहा हूं, लेकिन वे पारंपरिक रूप से इसका उपयोग नहीं करते हैं, एमएम 34 एफओवी के समान कुछ क्यों नियंत्रित करता है? यदि आप मुझसे पूछें तो इनमें से कोई भी मानक नहीं है। लेकिन मुझसे गलती हो सकती है। –

+0

मैं इसे समझने की कोशिश कर रहा हूं। आपकी दो टिप्पणियों ने वास्तव में मेरी समस्या को समझने में मेरी मदद की। किसी और के लिए इसमें भाग लेने के लिए ... मेरे पास कुछ प्रारंभिकरण था जहां मैं कुछ लेबल घूमना चाहता था। मैंने इसे देखा थाडलोड ... मुझे इसे सही तरीके से काम करने के लिए डिडएपियर देखने के लिए ले जाना पड़ा था (क्योंकि फ्रेम अभी भी देखने के बाद तक सेट किया जा रहा है)। –