Which method is called when back button clicked in

2019-02-16 15:16发布

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 navigation controller?

2条回答
Summer. ? 凉城
2楼-- · 2019-02-16 15:26

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.

查看更多
一纸荒年 Trace。
3楼-- · 2019-02-16 15:48

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;
}
查看更多
登录 后发表回答