6

नामक रोटेशन विधियों को मैं इसके पीछे देखने को देखने के लिए UIModalPresentationCurrentContext का उपयोग करके वीसी के शीर्ष पर एक वीसी प्रस्तुत करने का प्रयास कर रहा हूं। नीचे दिए गए कोड काम करता है:UIModalPresentationCurrentContext -

UIViewController *transparentViewController = [[UIViewController alloc] init]; 
self.modalPresentationStyle = UIModalPresentationCurrentContext; 
[self presentViewController:transparentViewController animated:NO completion:^{ 
}]; 

हालांकि, जब मैं डिवाइस बारी बारी से करने के बाद कुलपति रोटेशन पूरी तरह से में गड़बड़ लग धक्का दे दिया गया है। साफ-सुथरा घुमाने के बजाय यह नए अभिविन्यास को फिट करने के लिए अजीब रूप से दृश्य को फैलाता है।

इसके अलावा, जब मैं पारदर्शी दृश्य नियंत्रक को उप-वर्गीकृत करता हूं तो मुझे लगता है कि इसकी व्यूविल्लॉटोरोटेट विधियों को नहीं कहा जा रहा है! (भले ही यह अपने गड़बड़ एनीमेशन तरीके से घूम रहा हो)

क्या UIModalPresentationCurrentContext शैली घूर्णन करने के लिए नहीं है? क्या इसके आसपास वैसे भी है? क्या किसी और ने इस मुद्दे में भाग लिया है?

+0

क्या आपको इसका समाधान मिला? मुझे एक ही समस्या का सामना करना पड़ रहा है .. – stonemonk

+0

वही है। उपाय? –

उत्तर

0

मेरा मानना ​​है कि यह मुद्दा मूल दृश्य नियंत्रक से घूमने में सक्षम नहीं है, इसलिए आपका मोडल व्यू कंट्रोलर भी घूर्णन से अवरुद्ध है। इसके आस-पास पहुंचने के लिए आप renderInContext विधि का उपयोग कर में मूल UIViewController के CALAyer प्रस्तुत कर सकते हैं। फिर आप इसे अपने मॉडल दृश्य नियंत्रक में अपने दृश्य पदानुक्रम के नीचे UIImageView में रख सकते हैं। इसका प्रभाव यह होगा कि व्यू कंट्रोलर पारदर्शी दिखाई देगा, क्योंकि आप नकली स्थिर छवि में इसके पीछे क्या देख रहे थे। फिर जब UIViewController घुमाता है तो आप को UIImageView पर पृष्ठभूमि में रहने के लिए मैन्युअल रूप से लागू कर सकते हैं, जबकि इसके ऊपर की सामग्री घूमने के लिए स्वतंत्र है।

+0

डी, उत्तर के लिए धन्यवाद। इस मामले में मूल दृश्य नियंत्रक घूमने में सक्षम है, हालांकि, यह इस बात पर ध्यान दिए बिना कि यह घुमाए जाने की अनुमति है या नहीं। आपके द्वारा प्रस्तावित समाधान एक अच्छा है, हालांकि, यदि अपडेट के पीछे दृश्य क्या है? पारदर्शिता का उपयोग करना सबसे अच्छा होगा। साथ ही, क्या स्क्रीनशॉट पर CGAffineTransform डिवाइस रोटेशन ऑफसेट करने के लिए अभी भी "घुमाने" नहीं होगा, एक एनीमेशन दिखाएगा जो तब नहीं होगा जब पृष्ठभूमि स्पष्ट रूप से घूमने में असमर्थ हो? –

+0

आह मैं मूल दृश्य नियंत्रक घुमाने में सक्षम होने के बारे में गलत समझा। मुझे यकीन नहीं है कि समस्या को हल करने के लिए कैसे करें। – DHamrick