2013-08-12 7 views
9

मेरा रूट व्यू कंट्रोलर UITabbarController है और UINavigationController एस है।स्टेटस बार क्यों घूमता है और पोर्ट्रेट

रोटेशन को प्रतिबंधित करने के लिए, आईओएस 6 के बाद, कुछ पर नहीं, लेकिन सभी विचारों पर, मैंने इन दोनों नियंत्रकों को अपने शीर्ष या दृश्य दृश्य के आउटपुटोटेट प्रतिक्रिया का सम्मान करने के लिए उपclassed है।

यह सब सिर्फ पूरी तरह से काम करता है ... समय के सबसे अधिक।

एक मामले में, एक दृश्य (UITableviewController) से शुरू होता है जो रोटेशन की अनुमति नहीं देता है।

मैं एक दृश्य को धक्का देता हूं जो ऑटोरोटेट को अनुमति देता है, फिर परिदृश्य में घुमाता है और फिर चित्र पर वापस जाता है।

फिर जब मैं दृश्य पॉप, सब कुछ ठीक दिखाई देता है।

लेकिन अब अगर मैं डिवाइस को घुमाता हूं, तो अकेले स्टेटस बार घुमाता है, शीर्ष पर एक रिक्त स्थान छोड़कर और वर्तमान दृश्य के बाईं ओर एक भाग को कवर करता है। वर्तमान दृश्य घूमता नहीं है (जैसा कि यह नहीं होना चाहिए)। केवल स्टेटस बार, पीछे और आगे घूमता है। दृश्य उत्तरदायी बना रहता है, छूता है और सामान्य के रूप में काम करता है, किसी भी तरह से रोटेशन का आकार बदलता या जवाब नहीं देता है (जैसा कि यह नहीं होना चाहिए)।

यह व्यवहार तब तक जारी रहता है जब तक कि मैं ऐप को मार और पुनरारंभ नहीं करता। एक बार ऐसा होने के बाद मुझे इसे रोकने के लिए कोई और रास्ता नहीं मिला है। सभी कार्यों को फिर से ठीक से पुनरारंभ करें और अनिश्चित अवधि के लिए ठीक से काम करेंगे। मैं वहां बिना किसी मुद्दे के अपने दिल की सामग्री के लिए आगे बढ़कर, घुमावदार, घूम रहा हूं।

मैं कभी भी सिम्युलेटर में इसे फिर से बनाने में सक्षम नहीं रहा हूं।

यह कोई स्पष्ट कारण नहीं होता है, मैं इसे नहीं कर सकता। मैं कहूंगा कि यह 85% सही तरीके से काम करता है। मैंने सोचा कि मैंने कई बार तय किया था जब यह दिन या सप्ताह तक नहीं हुआ था। फिर, नीले रंग से यह फिर से होता है।

मुझे इस व्यवहार का वर्णन करने वाले किसी भी मंच में कोई पोस्ट नहीं मिल रही है, इसलिए मुझे डीबग करने के लिए भी कोई जगह नहीं मिल रही है। स्टेटस बार कैसे ऊपर से तरफ स्विंग कर सकता है और दृश्य किसी भी तरह से आकार बदलता या घुमाता या जवाब नहीं देता है। अगर मुझे पता चले कि ऐसा कैसे किया जाए, तो मेरे पास शुरू करने के लिए एक जगह होगी।

+0

समस्या डिवाइस अभिविन्यास (फेसअप, फेसडाउन और अज्ञात अभिविन्यास) के साथ है जो सिम्युलेटर में सेट करने में सक्षम नहीं हैं। लेकिन, डिवाइस पर, आप इस अभिविन्यास को प्राप्त करने में सक्षम हो सकते हैं। डिवाइस अभिविन्यास मुद्रित करें और फिर, आप डीबग करने का प्रयास कर सकते हैं। – Bharath

उत्तर

6

मुझे उप-वर्गीकृत UIWindow (मेरे मामले में, स्टेटस बार ओवरले) जोड़ने पर एक ही समस्या का अनुभव हुआ।

समाधान एक subclassed UIViewController कि -(BOOL)shouldAutorotate लागू किया था के लिए इस नए UIWindow की rootViewController स्थापित करने के लिए किया गया था। इसने स्टेटस बार को घूर्णन से रोका जब इसे नहीं माना जाता था।

+0

मैं किसी भी तरह से स्टेटस बार में बदलाव नहीं कर रहा हूं इसलिए मुझे विश्वास नहीं है कि यह लागू होता है। मैंने अभी तक इस मुद्दे का अनुभव नहीं किया है कि मैंने आईओएस 7 के लिए अपडेट किया है। किसी भी भाग्य के साथ, यह आईओएस 6 के साथ कुछ विसंगति थी और मैं "निश्चित" के रूप में लिख सकता हूं। –

+0

जब मैं लुकबैक लाइब्रेरी का उपयोग करता हूं तो मैं इस समस्या में भाग गया। यह UIAplication वर्ग में अतिरिक्त UIWindow जोड़ता है। मैंने एक 'UIViewController' subclass लागू किया और' चाहिएऑटोरोटेट 'ओवरराइड किया। एक जादू की तरह काम करता है। – Loozie

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