7
पर

मैं ऐसा करके मेरी navigationController को ViewControllers की एक नई ढेर सेट कर रहा हूं निम्नलिखित:संक्रमणकालीन शैली जब setViewControllers का उपयोग कर: एनिमेटेड: UINavigationController

MainMenuViewController *mainMenuViewController = [[MainMenuViewController alloc] init]; 
NSArray *controllerArray = [NSArray arrayWithObject:mainMenuViewController]; 
[mainMenuViewController release]; 
[self.navController setViewControllers:controllerArray animated:YES]; 

केवल समस्या यह है मैं संक्रमणकालीन सेट नहीं कर पा रहे अंदाज। आदर्श रूप में मैं इसे फ्लिप करना चाहता हूं। क्या यह संभव है? यह महत्वपूर्ण है कि मैं setViewControllers का उपयोग करता हूं: presentModalViewController के बजाय एनिमेटेड, क्योंकि मैं स्टैक के बीच आगे और आगे स्विच करता हूं और प्रत्येक के लिए नेविगेशन नियंत्रण व्यवहार को बनाए रखना चाहता हूं।

उत्तर

0

पूरे नेविगेशन स्टैक्स को स्वैप करने के बजाय, क्यों न केवल दो नेविगेशन नियंत्रकों को बनाए रखें और उनके बीच एक संक्रमण को एनिमेट करें? मुझे क्लीनर लगता है।

अद्यतन

मुझे लगता है कि अगर मुझे पता था कि आप क्या हासिल करने की कोशिश कर रहे थे मैं बेहतर सहायता के हो सकता है, लेकिन मुझे पता है कि आप एक पहले से एक दूसरे नव नियंत्रक रुप से पेश कर सकते हैं, और आप का एक समूह धक्का कर सकते हैं प्रस्तुतिकरण से पहले/बाद में इसके बारे में विचार, इत्यादि। इसके अलावा, दृश्य नियंत्रकों के मौजूदा ढेर के आउट-आउट-आउट प्रतिस्थापन, विशेष रूप से यदि यह गहरा है, तो उपयोगकर्ता को भ्रमित कर सकता है, ऐप्पल समीक्षा टीम का उल्लेख नहीं करना।

स्मृति में दो एनवी नियंत्रकों को बनाए रखना आवश्यक रूप से एक बड़ा सौदा नहीं है, जब तक कि आप मेमोरी (संभवतः आप करते हैं), और जब तक उपयोगकर्ता वास्तव में लाभ प्राप्त कर रहा हो।

शायद आप अपने उच्च स्तरीय उद्देश्य पर कुछ प्रकाश डाल सकते हैं और हम वहां से जा सकते हैं।

अधिक

आप इसे फ्लिप चाहते हैं, तो आप navController2.modalTranstitionStyle = UIModalTransitionStyleFlipHorizontal, जो navController2 में फ्लिप करने जब यह रीति से प्रस्तुत किया है कारण होगा सेट कर सकते हैं।

एसओ के बारे में कुछ अजीब गड़बड़ी थी जब हम नीचे टिप्पणी कर रहे थे, तो हो सकता है कि यह आपके अपडेट खो गया हो।

+0

वैसे मैं यहां कुछ ऐसा कर रहा था: http://stackoverflow.com/questions/9570225/how-to-swap-between-2-root-view-controllers जिन्हें प्रोत्साहित नहीं किया गया था। यद्यपि वहां मेरे पास एक नेविगेशन नियंत्रक था जिसके लिए मैंने प्रत्येक बार एक नए रूट व्यू कंट्रोलर को पुनः आरंभ किया था। क्या यह 2 एन कंट्रोलर होने के लिए अच्छा अभ्यास है? क्या आप दोनों एक ही समय में स्मृति में खत्म नहीं होते हैं? – Smikey

+0

एक अद्यतन जोड़ा गया – QED

+0

आप ऐसा कर सकते हैं - मुझे नहीं लगता कि हाथ पर खाली या 'छोटा' एनवी नियंत्रक होने पर यह एक बड़ा सौदा होगा। आप इसे प्रस्तुत करने से ठीक पहले, दूसरी नौसेना नियंत्रक मांग पर भी बनाने का प्रयास कर सकते हैं। इसका परिणाम थोड़ा यूआई अंतराल हो सकता है, या नहीं। आपको यह देखने के लिए परीक्षण करना होगा कि क्या अच्छा काम करता है। – QED