Which method is called when back button clicked in navigation controller?

前端 未结 2 1585
太阳男子
太阳男子 2021-01-11 16:46

I want to save DB when the back button clicked in navigation controller.

so I would insert code in method.

What method is called when back button clicked in

相关标签:
2条回答
  • 2021-01-11 17:13

    Maybe it's not appropriate use, but that worked for me. Don't forget to set UINavaigationController delegate.

    - (id <UIViewControllerAnimatedTransitioning>)navigationController:(UINavigationController *)navigationController
                                       animationControllerForOperation:(UINavigationControllerOperation)operation
                                                    fromViewController:(UIViewController *)fromVC
                                                      toViewController:(UIViewController *)toVC
    {
        NSLog(@"from VC class %@", [fromVC class]);
        if ([fromVC isKindOfClass:[ControllerYouJustPopped class]])
        {
            NSLog(@"Returning from popped controller");
    
        }
    
        return nil;
    }
    
    0 讨论(0)
  • 2021-01-11 17:32

    To do what you asked, look at the UINavigationControllerDelegate protocol, namely the method:

    - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated 
    

    when the viewController argument is no longer your view controller then you should save.

    However, doing so on viewWillDisappear: might be a better (and much simpler) idea.

    0 讨论(0)
提交回复
热议问题