/ / popViewController अनुमति अभिविन्यास पर वापस autorotate नहीं है - आईफोन, आईपैड, uinavigationcontroller, रोटेशन, popviewcontroller

popViewController अनुमत उन्मुखीकरण पर वापस autorotate नहीं है - आईफोन, आईपैड, uinavigationcontroller, रोटेशन, popviewcontroller

मेरे पास दो UIViewControllers, "ए" और "बी" है, जहां"ए" UInterfaceOrientationPortrait के लिए YES वापस करने के लिए चाहिएAutorotateToInterfaceOrientation को ओवरराइड करता है, और "बी" सभी ओरिएंटेशन के लिए हाँ देता है। मेरे उदाहरण में "ए" रूट नेविगेशन व्यू कंट्रोलर है, और फिर मैं "बी" के लिए pushViewController का उपयोग करता हूं। इसके बाद मैं डिवाइस को लैंडस्केप में घुमाता हूं, जो सफलतापूर्वक "बी" को स्वत: चलाता है, फिर मैं "ए" पर वापस जाने के लिए "बी" (बैक बटन या पॉपव्यू कंट्रोलर के माध्यम से) पॉप करता हूं।

आईफोन ओएस 3.1.3 को लक्षित करते समय, "ए" पोर्ट्रेट अभिविन्यास को अपेक्षित रूप से लौटाता है। आईफोन ओएस 3.2 को लक्षित करते समय, मेरे पास दो दुष्प्रभाव होते हैं:

  1. परिदृश्य में "ए" प्रदर्शित होता है।
  2. नेविगेशन बार हालांकि अद्यतन नहीं करता है"ए" अब प्रदर्शित किया गया है। नेविगेशन बार अभी भी "बी" के लिए आइटम दिखाता है। एक बार वापस जाने / पॉप करने की कोशिश करने के बाद ही नेविगेशन बार "ए" के लिए आइटम दिखाने के लिए एनिमेट करेगा। अगर मैं फिर से "बी" को धक्का देने और वापस जाने का प्रयास करता हूं, तो मुझे पॉप करना होगा दो बार नेविगेशन बार "ए" के लिए आइटम दिखाने के लिए एनिमेट करने से पहले। इन "मध्यवर्ती पॉप" के दौरान "ए" के लिए दृश्य प्रदर्शित रहता है।

इस मुद्दे पर शोध करते समय, मैंने दूसरे को देखा हैजवाब रोटेशन मैन्युअल रूप से ([UIDevice setOrientation] या एक ट्रैनफॉर्मेशन के माध्यम से करने का सुझाव देते हैं), हालांकि यह समस्या को समझने में मदद नहीं करता है, खासकर यह दो ओएस के बीच अलग-अलग व्यवहार क्यों करता है।

तो मेरा सवाल है: UINavigationController स्टैक समर्थन पर मेरे सभी UIViewControllers को वही उन्मुखताएं आगे बढ़ने चाहिए? और यदि नहीं, तो क्या ऐसा कुछ है जो मुझे ओएस 3.1.3 के लिए व्यवहार करने के लिए करने की ज़रूरत है?

उत्तर:

उत्तर № 1 के लिए 1

ऐसा प्रतीत होता है कि नए ओएस को उन्मुखता के समान सेट का समर्थन करने के लिए UINavigationController स्टैक में सभी UIViewControllers की आवश्यकता होती है।


जवाब के लिए 0 № 2

मुझे एक ही समस्या है और मुझे इस लिंक पर जवाब मिला: लैंडस्केप मोड में UINavigationController नेविगेशन ढेर समस्याएं मेरे व्यू कंट्रोलर में से एक को YAutorotateToInterfaceOrientation पर YES वापस नहीं किया गया था।