UIViewController.h में Apple के प्रलेखन से:
"इन चार विधियों का उपयोग एक दृश्य नियंत्रक की उपस्थिति कॉलबैक में यह निर्धारित करने के लिए किया जा सकता है कि क्या इसे प्रस्तुत किया जा रहा है, खारिज किया गया है, या जोड़ा गया है या एक चाइल्ड व्यू कंट्रोलर के रूप में हटा दिया गया है। उदाहरण के लिए, एक दृश्य नियंत्रक यह देख सकता है कि क्या यह गायब हो रहा है क्योंकि इसे खारिज कर दिया गया था या। अपने दृष्टिकोण में खुद को पूछकर पॉपअप किया गया है: अभिव्यक्ति की जाँच करके विधि: ([स्वयं isBeingDisississed] की जाँच करके।
- (BOOL)isBeingPresented NS_AVAILABLE_IOS(5_0);
- (BOOL)isBeingDismissed NS_AVAILABLE_IOS(5_0);
- (BOOL)isMovingToParentViewController NS_AVAILABLE_IOS(5_0);
- (BOOL)isMovingFromParentViewController NS_AVAILABLE_IOS(5_0);
तो हाँ, ऐसा करने का एकमात्र प्रलेखित तरीका निम्नलिखित है:
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
if ([self isBeingDismissed] || [self isMovingFromParentViewController]) {
}
}
स्विफ्ट 3 संस्करण:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if self.isBeingDismissed || self.isMovingFromParentViewController {
}
}