0

这个问题看起来重复了,但我没有为我的问题找到合适的解决方案。就我而言,单击后退按钮后,我想隐藏导航栏。例如,View1 推送了 view2,view2 将有导航栏,一旦我点击返回,它就会让我回到 view 1,它不应该包含导航栏,我需要隐藏它。我尝试在视图 2 中使用 viewWillDisappear 方法进行隐藏,它可以工作,但是如果我有更多视图并且如果我点击后退按钮,我会从 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];

提前致谢

4

2 回答 2

1

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

-(void) viewWillAppear : (BOOL)animated
{

    [super viewWillAppear:animated];

    [root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
于 2012-08-03T06:50:17.390 回答
0

为什么不隐藏NavigationBarinView1's ViewDidAppear方法

编辑

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

于 2012-08-03T06:13:51.903 回答