จากเอกสารของ Apple ใน UIViewController.h:
"วิธีการทั้งสี่นี้สามารถใช้ในการเรียกกลับลักษณะของตัวควบคุมมุมมองเพื่อตรวจสอบว่ากำลังนำเสนอปิดหรือเพิ่มหรือลบออกเป็นตัวควบคุมมุมมองเด็กตัวอย่างเช่นตัวควบคุมมุมมองสามารถตรวจสอบได้ว่ากำลังหายไปเนื่องจากถูกปิดหรือ โผล่มาโดยถามตัวเองใน viewWillDisappear: method โดยการตรวจสอบนิพจน์ ([self isBeingDismissed] || [self isMovingFromParentViewController]) "
- (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]) {
}
}
เวอร์ชัน Swift 3:
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
if self.isBeingDismissed || self.isMovingFromParentViewController {
}
}