在导航控制器中单击后退按钮时调用哪种方法?

时间:2011-10-31 01:47:49

标签: ios xcode controller navigation back-button

我想在导航控制器中单击后退按钮时保存数据库。

所以我会在方法中插入代码。

在导航控制器中单击后退按钮时调用了哪种方法?

2 个答案:

答案 0 :(得分:8)

要做你提出的问题,请查看UINavigationControllerDelegate协议,即方法:

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

当viewController参数不再是您的视图控制器时,您应该保存。

然而,在viewWillDisappear:上这样做可能是一个更好(也更简单)的想法。

答案 1 :(得分:1)

也许它不适合使用,但这对我有用。别忘了设置UINavaigationController委托。

- (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;
}