के साथ आईओएस 5 ऐप में एक UIViewController को सशर्त रूप से छोड़कर हमारे आईओएस एप्लिकेशन में तीन UIViewController
एस के साथ एक दूसरे के साथ, हम मध्य स्थिति को किसी शर्त के आधार पर छोड़ना चाहते हैं और सीधे पहले से तीसरे तक जाना चाहते हैं। हालांकि, उपयोगकर्ता को तीसरे नियंत्रक पर "बैक" बटन के माध्यम से दूसरे में वापस आने में सक्षम होना चाहिए।UINavigatonController
मैं viewDidLoad
, viewWillAppear
से [self performSegueWithIdentifier:@"segueId" sender:sender];
कोशिश की, लेकिन के रूप में डीबग लॉग ने संकेत दिया इस नेविगेशन पट्टी भ्रष्ट। viewDidAppear
से इस कोड को कॉल करना ठीक काम करता है, लेकिन फिर दूसरा दृश्य पहले ही प्रदर्शित होता है, जो मैं पहले स्थान से बचने की कोशिश कर रहा था।
मैंने [self.navigationController pushViewController:vc animated:NO];
भी कोशिश की लेकिन परिणाम इसी प्रकार दूषित नौसेना बार है, भले ही इस बार डीबग लॉग में ऐसी प्रविष्टियां न हों।
ऐसा करने का समर्थित तरीका क्या होगा (यदि यह संभव है तो)?
लक्ष्य आईओएस 5.1 के साथ आईफोन 4 है, और देव पर्यावरण एक्सकोड 4.3 है।
प्रतिक्रिया देने के लिए बहुत बहुत धन्यवाद। इसे इस तरह कार्यान्वित करने में सक्षम होने के लिए, ऐसा लगता है कि नियंत्रकों को पिछले किसी भी डेटा की आवश्यकता नहीं होनी चाहिए। अभी हमारे ऐप में प्रत्येक नियंत्रक 'readyForSegue' के दौरान बाद के नियंत्रक के लिए प्रासंगिक डेटा (उपयोगकर्ता चयन के आधार पर) तैयार करता है। यही कारण है कि मैं ऐसा कुछ ढूंढ रहा था जो मुझे "छोड़ने" की अनुमति देगा (यानी जैसे कि एक सीगू स्वचालित रूप से किया जाता है)। आपने मुझे इसके बारे में सोचना एक विचार दिया। मुझे इस पर काम करने दें और देखें कि क्या मैं इस विचार को ऐप में शामिल कर सकता हूं। – alokoko
कुछ शफल शामिल था लेकिन मुझे यह काम मिल गया। मैं अभी भी चाहता हूं कि किसी भी तरह से "छोड़ें" (शायद एक सेग्यू या किसी अन्य तरीके से) का एक तरीका था जो दिखाई देने से पहले एक ही नियंत्रक के भीतर काम करेगा। – alokoko
एक विवरण जो मैं उल्लेख करना भूल गया था: छोड़ने के बाद तीसरे नियंत्रक पर बैक बटन दूसरे नियंत्रक के शीर्षक के बजाय "बैक" लेबल किया गया है क्योंकि यह सामान्य अनुक्रम के तहत होगा। क्या इसे मैन्युअल रूप से सेट किया जाना चाहिए? – alokoko