मैं एक UIViewController
इस कोड के साथ एक UINavigationController
में निहित करने के लिए एक बच्चे को देखने के लिए नियंत्रक को जोड़ने के लिए कोशिश कर रहा हूँ करने के लिए बच्चे दृश्य नियंत्रक जोड़ें:UINavigationController
- (void)buttonTapped:(id)sender
{
MyChildController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"MyChild"];
[self addChildViewController:viewController];
[self.view addSubview:viewController.view];
[viewController didMoveToParentViewController:self];
viewController.view.alpha = 0.0f;
[UIView animateWithDuration:0.4 animations:^{
viewController.view.alpha = 1.0f;
}];
}
लेकिन यह परिणाम है:
जैसा कि आप UINavigatioBar
देख सकते हैं और UIToolbar
अभी भी बाल दृश्य नियंत्रक के शीर्ष पर हैं। मैं बच्चे के दृश्य नियंत्रक को सबसे ऊपर कैसे रख सकता हूं? मैं पहले से ही साथ कोड को बदलने के लिए कोशिश की है:
[self.navigationController addChildViewController:viewController];
[self.navigationController.view addSubview:viewController.view];
[viewController didMoveToParentViewController:self.navigationController];
लेकिन इस तरह से viewController
की viewDidAppear:animated
बुलाया नहीं प्राप्त करता है, यही कारण है कि पता नहीं।
मैं ViewController-कंटेनर दृष्टिकोण का उपयोग करने क्योंकि मैं मोडल दृश्य की पृष्ठभूमि के दृश्य को धुंधला करने की जरूरत है कोशिश कर रहा हूँ एक बच्चे जोड़े नियंत्रक जो अर्द्ध पारदर्शी भी है। प्रभाव अधिसूचना दृश्य जैसा ही है जो आप स्क्रीन के शीर्ष से नीचे खींचते हैं। पृष्ठभूमि अर्द्ध पारदर्शी है और यह धुंध/ठंडा ग्लास भी है। यदि मैं 'view.navigationController'' viewDidAppear' विधि को कोई बच्चा दृश्य नियंत्रक नहीं जोड़ता है तो क्यों नहीं कहा जाता है? –
हम्म ... बिल्कुल यकीन नहीं है ... क्या आपने कॉल करने की कोशिश की है [viewController viewWillAppear: NO]? – JonahGabriel
हां और यह कुछ भी नहीं करता है। मुझे लाइन के ठीक बाद '[व्यू कंट्रोलर व्यूडिडएपियर: नहीं]' कॉल करने की आवश्यकता है '[व्यू कंट्रोलर किया गया हैमोवेटेंटव्यू कंट्रोलर: self.navigationController] '। क्यों नहरों को बुलाया जाता है? अन्यथा यदि मैं बाल दृश्य नियंत्रक को 'स्वयं' में जोड़ता हूं और नहीं 'self.navigationController' यह काम करता है लेकिन उपर्युक्त छवि में दिखाया गया है कि दृश्य' नेविगेशन नियंत्रक 'के अंदर' अंदर 'है। –