点击导航后退按钮后会调用什么方法-IOS?

时间:2012-08-03 06:11:20

标签: iphone objective-c ios xcode

这个问题看起来很重复,但我没有得到适当的解决方案来解决我的问题。在我的情况下,一旦我点击后退按钮我想隐藏导航栏。对于例如View1推了view2,view2会有导航栏,一旦我点回它就会带我回到视图1它不应该包含导航栏我需要隐藏它。我尝试使用viewWillDisappear方法在视图2中隐藏,它工作但是如果我有更多视图并且我从view1推动每个视图如果我单击后退按钮,导航栏应该隐藏在view1中。无论如何,在视图1中本身就知道其他视图被弹出。我在view1中尝试了viewwillappear方法,但未调用它。我能在这做什么。?

这个方法在我最初加载view1时调用,而不是在弹出view2之后调用..

    - (void) viewWillAppear : (BOOL)animated
{
    [root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}

这就是我推动观点2的方式..

[root_obj.navigationController pushViewController:view2 animated:NO];

先谢谢

2 个答案:

答案 0 :(得分:1)

我想,你忘了调用viewWillAppear:超类的方法。

-(void) viewWillAppear : (BOOL)animated
{

    [super viewWillAppear:animated];

    [root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}

答案 1 :(得分:0)

为什么不隐藏NavigationBar View1's方法中的ViewDidAppear

修改

我不确定您的代码有什么问题,但您可以使用ViewWillAppearViewDidAppear方法执行此类操作以获取更多信息UIViewController Class Reference并检查ViewWillAppearViewDidAppear