这个问题看起来很重复,但我没有得到适当的解决方案来解决我的问题。在我的情况下,一旦我点击后退按钮我想隐藏导航栏。对于例如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];
先谢谢
答案 0 :(得分:1)
我想,你忘了调用viewWillAppear:超类的方法。
-(void) viewWillAppear : (BOOL)animated
{
[super viewWillAppear:animated];
[root_obj.navigationController setNavigationBarHidden:YES animated:YES];
}
答案 1 :(得分:0)
为什么不隐藏NavigationBar
View1's
方法中的ViewDidAppear
我不确定您的代码有什么问题,但您可以使用ViewWillAppear
或ViewDidAppear
方法执行此类操作以获取更多信息UIViewController Class Reference并检查ViewWillAppear
或ViewDidAppear