ios - Pushing a view onto the Navigation Stack from a view inside a container view? -
वर्तमान डिजाइन मेरे पास वर्तमान में मेरे स्टोरीबोर्ड पर एक दृश्य नियंत्रक है एक एम्बेडेड टैब नियंत्रक और एक एम्बेडेड नेविगेशन नियंत्रण है। इस दृश्य नियंत्रण में एक कंटेनर दृश्य भी है जो कि नेविगेशन बार में स्थित खंड वाले नियंत्रण में चयनित मान पर निर्भर करता है। कंटेनर के लिए दृश्य लोड हो रहा है कंटेनर दृश्य के विचार XIB फ़ाइलें हैं (स्टोरीबोर्ड आधारित नहीं) और प्रोग्रामेटिक रूप से लोड किए गए हैं: मैं समस्या का सामना मेरे पास समस्या यह है कि कंटेनर दृश्य के विचारों में से एक एक संग्रह दृश्य है जिसमें फ़ोटो और मुझे एक छवि को देखते हुए बड़े आकार में धक्का देने में सक्षम होने की आवश्यकता होती है, जब वे किसी एक कक्ष का चयन करते हैं। मैं नेविगेशन नियंत्रक पर किसी दृश्य को अंदर देखने के बारे में कैसे जाना है कंटेनर दृश्य? क्या आपके कंटेनर वीयूआईसी नियंत्रक एक नेविगेशन नियंत्रक के अंदर एम्बेडेड है? यदि ऐसा है, तो आप बस कॉल कर सकते हैं। यह अपने कंटेनर नियंत्रक के लिए वास्तव में, आपको यह आपको childViewControllers के लिए
- (शून्य) दृश्यडिडलोड {[सुपर व्यूडडलोड ]; // पहला नियंत्रक self.firstViewController = [[प्रथम दृश्य नियंत्रक alloc] init]; // दूसरा नियंत्रक self.secondViewController = [[द्वितीय दृश्य नियंत्रक alloc] init]; // एक ऐरे सेल्फ कंट्रोलर्स के लिए नियंत्रकों जोड़ें = @ [स्व.फ्रीस्ट वीव कंट्रोलर, सेल्फ। सेकंडव्यूकंट्रोलर]; // लोड पर पहला दृश्य नियंत्रक दिखाने के लिए कंटेनर सेट करें [स्वयं डिस्प्लेसंपादन नियंत्रक: [self.controllers firstObject]]; } - (शून्य) displayContentController: (UIViewController *) सामग्री {[स्वयं addChildViewController: सामग्री]; Content.view.frame = [सेल्फ फ़्रेम फ़ॉर कंटेंट नियंत्रक]; [Self.view addSubview: content.view]; [सामग्री didMoveToParentViewController: self]; // सेट वर्तमान नियंत्रक self.currentController = सामग्री; }
self.navigationController से भीतर
पहले दृश्य नियंत्रक या
secondViewController
माता-पिता दृश्य नियंत्रक श्रृंखला ऊपर की तरफ जब तक यह एक
UINavigationController (या उपवर्ग) तक पहुंचता है - तब आप कॉल करेंगे -
pushViewController: एनिमेटेड: उस नेविगेशन नियंत्रक पर ।
UIViewController के लिए एक श्रेणी भी प्रदान करनी चाहिए, जो आपके कंटेनर के लिए एक साधारण भत्ता जोड़ती है:
@ इंटरफ़ेस UIViewController (YourContainer) - (आपका कंटेनर *) आपका कंटेनर; @end @ आपरेशन UIViewController (आपका कंटेनर) - (आपका कंटेनर *) आपका कंटेनर {यदि ([स्वयं है किंडऑफ़ क्लास: [आपका कंटेनिअर क्लास]]) {रिटर्न (आपका कंटेनइयर *) स्वयं; } UIViewController * माता पिता = self.parentViewController; जबकि (! (माता-पिता के लिए है KindOfClass: [YourContainer वर्ग]] & amp; माता पिता! = शून्य) {माता पिता = माता पिता। ParentViewController; } वापसी (आपका कंटेनिअर *) अभिभावक; } @end
UINavigationController और
UITabBarController के समान व्यवहार देगा। वास्तव में, यदि आप इन कक्षाओं के लिए शीर्ष लेख देख रहे हैं, तो आप देखेंगे कि वे भी
UIViewController पर एक श्रेणी के माध्यम से यह कार्यक्षमता प्रदान करते हैं - इसलिए अब से, प्रत्येक बच्चे ViewController
अपने कस्टम कंटेनर, या शून्य के संदर्भ पाने के लिए, यदि यह एक में शामिल नहीं है तो स्वयं। आपका कंटेनइयर ।
Comments
Post a Comment