cocoa touch - iOS 8 bug with navigation stack / rotation? -
मेरे पास तीन UIViewControllers हैं: vc1
, vc2,
और वीसी 3 जो एक
UINavigationController
पर उत्तराधिकार में प्रकट होते हैं। vc1
में निम्न रोटेशन गुण हैं:
- (BOOL) चाहिएअयुरोटेट {वापसी हाँ; } - (BOOL) चाहिएअयुरोटोटेटटोइंटरफेसओरिएन्टेशन: (यूआईएनटरफेसऑरिएन्टेशन) सेइंटरफेसऑरिएन्टेशन {रिटर्न (इंटरफ़ेसओरिएन्टेशन == यूआईएनएटरफेसऑरेंटेशन पोर्टेट); } - (एनएसयूइन्टेगर) समर्थित इंटरफेस ओरिएन्टेशन {वापसी यूआईएनटीफ़ेरेशन ओरिएंटेशनमास्क पोर्ट्रेट; } - (UIInterfaceOrientation) पसंदीदा इंटरफेसऑरेंटेशनफॉरेंसिंग {वापसी UIInterfaceOrientationPortrait; }
जबकि vc2
और vc3
में निम्न रोटेशन गुण हैं:
- (BOOL) चाहिएअयुरोटेट {वापसी हाँ; } - (BOOL) चाहिएअयुतरोटेटटोइंटरफेसऑरेंटेशनः (यूआईएनटरफेसऑरिएन्टेशन) सेइंटरफेसऑरिएन्टेशन {रिटर्न (इंटरफ़ेस ऑरिएटेशन! यूआईएनपरफेसऑरेंटेशन पोर्टेटउपसाइडडाउन); } - (एनएसयूइंटेगर) समर्थित इंटरफेस ओरिएन्टेशन {वापसी यूआईएनटीफ़ाफ़ाइरेंटेशनमास्क AllButUpsideDown; } - (UIInterfaceOrientation) preferredInterfaceOrientationFor प्रस्तुतीकरण {वापसी स्वयं। PresentedViewController.interfaceOrientation; }
जबकि vc3
पर (जो कि vc1
और vc2
से पहले कोर्स की नेविगेशन स्टैक पर है) ), अगर उपयोगकर्ता पुनरारंभ बटन को धक्का देता है, तो मैं उसे vc1 पर वापस ले जाना चाहता हूं:
- (शून्य) restartButtonPushed {[self.navigationController popToRootViewControllerAnimated: हाँ]; }
यह आमतौर पर काम करता है, हालांकि अगर मैं परिदृश्य मोड में vc3
पर हूं, तो जब मैं पुनः आरंभ करता हूं तो मुझे इसे वापस vc1 लैंडस्केप मोड में जबकि & lt; आईओएस 8,
vc1
पोर्ट्रेट मोड में मजबूर हो जाएगा क्या यह iOS8 में एक बग है? या संभवतया आईओएसओ 8 में कुछ तय किया गया था कि यह कैसे गलत तरीके से कर रहा था?
दिलचस्प पक्ष नोट, अगर मैं लैंडस्केप मोड में और vc2
यह ठीक उसी प्रकार से काम करता है, जैसा कि vc1
को पोर्ट्रेट मोड में मजबूर किया जाता है।
Comments
Post a Comment