मेरे पास viewWillDisappear:
में साफ़ करने के लिए कुछ कोड है, जिसे मैं केवल तब देखना चाहता हूं जब दृश्य मूल दृश्य नियंत्रक पर वापस जा रहा हो।isBeingDismissed दृश्य में सेट नहीं है WillDisappear:
- (void)viewWillDisappear:(BOOL)animated
{
if ([self isMovingFromParentViewController] || [self isBeingDismissed]) {
NSLog(@"isMovingFromParentViewController or isBeingDismissed");
// clean up
}
[super viewWillDisappear:animated];
}
दृश्य को दो तरह से प्रस्तुत किया जा सकता: यह, या (एक ही नेविगेशन नियंत्रक से) एक मॉडल दृश्य नियंत्रक के रूप में प्रस्तुत एक नेविगेशन नियंत्रक द्वारा धक्का दिया जा सकता है। यदि इसे धक्का दिया जाता है, तो पॉप किया गया (बैक बटन दबाकर), मेरा क्लीन-अप कोड चलता है। यदि यह एक मोडल व्यू कंट्रोलर के रूप में प्रस्तुत किया जाता है, तो खारिज कर दिया जाता है, कोड नहीं चलता है।
मैं बहुत तरह खारिज:
[rootViewController dismissModalViewControllerAnimated:YES];
मेरा प्रश्न है: क्यों isBeingDismissed
सेट जब मैं अपने दृश्य नियंत्रक को खारिज नहीं है?
मैं पुष्टि कर सकता है कि 'isBeingDismissed() 'रिटर्न' झूठा 'जब व्यू कंट्रोलर को' UINavigationController' से पॉप किया गया है, जैसे कि संक्षिप्त दृश्य 'UISplitViewController' में विस्तार दृश्य नियंत्रक। – bio