कोड 2 दृश्य नियंत्रकों के बीच माता-पिता/बच्चे का रिश्ता मूल रूप से यह सिर्फ मामले की तरह कुछ कर रहा है से बनाने के लिए बनाने के लिए कैसे:इंटरफ़ेस बिल्डर में एक कंटेनर/बच्चे ViewController संबंध
[self addChildViewController:childViewController];
[self.view addSubview:childViewController.view];
जहां स्वयं है अभिभावक दृश्य नियंत्रक।
लेकिन, क्या होगा यदि मैं इंटरफेस बिल्डर से पूरी तरह से एक ही रिश्ता बनाना चाहता हूं?
या दूसरे शब्दों में: इंटरफ़ेस बिल्डर का उपयोग कर विधि addChildViewController के व्यवहार को फिर से बनाने का कोई तरीका है? मुझे लगता है कि के बारे में दस्तावेज़ का एक बहुत नहीं मिला, यहाँ विषय के बारे में एक पुराने अनसुलझे पोस्ट है: https://devforums.apple.com/message/455758#455758
ठीक से addChildViewController संबंध स्थापित करने के बिना, रोटेशन के तरीकों में से कोई भी अपने बच्चे को देखने के लिए नियंत्रक को भेजा जाता है , यहां मेरा प्रश्न कहां से आया है।
- खींचें और "वस्तुओं" पहचान निरीक्षक में पैनल
- में "वस्तु लाइब्रेरी" पैनल से एक "दृश्य नियंत्रक" वस्तु गिरा:
यह मैं आईबी में क्या किया है है मैं अपने UIViewController उपवर्ग ("आइटम देखें नियंत्रक")
- नियंत्रक
- नियंत्रक करने के लिए सभी अन्य आवश्यक दुकानों जुड़े (सूची का नाम, टेबल देखें) को देखने के आउटलेट जुड़े करने के लिए अपने वर्ग बदल दिया है
तस्वीर में पहली "देखें" ऑब्जेक्ट मेरे मूल दृश्य नियंत्रक का दृश्य है, इसके बजाय हाइलाइट किया गया "व्यू" बच्चे दृश्य नियंत्रक ("आइटम व्यू कंट्रोलर") का दृश्य है।
कंटेनर नियंत्रक भी एक अतिरिक्त IBOutlet के माध्यम से अपने बच्चे को उदाहरण बनाए रखें:
@property (nonatomic, strong) IBOutlet ItemsViewController *itemsViewController;
धन्यवाद
अद्यतन 1: मैं मैन्युअल रूप से माता पिता/बच्चे को सेट करते हैं दृश्य में रिश्ते कंटेनर नियंत्रक के डिडलोड, सभी रोटेशन विधियां सही तरीके से हैं बच्चे को भेजा गया।
[self addChildViewController:self.itemsViewController];
लेकिन मैं वास्तव में, अगर यह है कि ऐसा करने का सही तरीका क्या है पता नहीं है के बाद से मैं सभी आईबी का उपयोग कर करना चाहते हैं।
अद्यतन 2: धन्यवाद उसके संकेत "कंटेनर देखें" वस्तु पुस्तकालय में उपयोग करने के लिए के लिए @micantox लिए, मैं एक स्टोरीबोर्ड में मेरी xib फ़ाइल परिवर्तित कर दिया है और अब बच्चे दृश्य नियंत्रक में जोड़ा जाता है इसके माता-पिता, इसलिए मुझे इसे कोड से मैन्युअल रूप से addChildViewController के साथ जोड़ना नहीं है और रोटेशन विधियों को अपेक्षित के रूप में अग्रेषित किया जाता है।
"कंटेनर देखें" मूल रूप से एम्बेड segue लागू करता है और iOS 6
से केवल समर्थित है यह मेरा स्टोरीबोर्ड से एक अद्यतन स्क्रीनशॉट:
मैं कंटेनर दृश्य नियंत्रक क्या जानते से केवल iPhone [कड़ी] (http://developer.apple.com/library/ios/#featuredarticles/ViewControllerPGforiPhoneOS/CreatingCustomContainerViewControllers/CreatingCustomContainerViewControllers.html पर iPad करने के लिए, लेकिन यह भी उपलब्ध सीमित नहीं है), मैंने इसे एक से अधिक ऐप में उपयोग किया है। इस मामले में मैं इसे आईपैड पर करना चाहता हूं। – ggould75
वैसे भी, इंटरफ़ेस बिल्डर में ऐसा करने का तरीका ऑब्जेक्ट लाइब्रेरी में कंटेनर व्यू ऑब्जेक्ट के माध्यम से है! इससे आपको अपने बच्चे को कंट्रोलर के दृश्य को अलग से प्रबंधित करने की सुविधा मिल जाएगी – micantox
धन्यवाद, मुझे इस ऑब्जेक्ट का अस्तित्व पता नहीं था, असल में मैं स्टोरीबोर्ड के बजाए एक xib फ़ाइल के साथ काम कर रहा हूं, और ऐसा लगता है कि स्टोरीबोर्ड पर ही उपलब्ध है । मैं इसे आजमा रहा हूं ... – ggould75