我有两个viewControllers,我正在从FirstView导航到SecondView,
将SecondView推送到导航控制器。因为我不想要导航栏
要在SecondView中显示,我执行以下操作
self.navigationController.navigationBar.hidden=YES;
然后我从第二个视图返回到FirstView,如下所示
[self.navigationController popViewControllerAnimated:YES];
但是现在导航栏也没有显示在FirstView中,因为我将它隐藏在
中SecondView。我在FirstView中尝试以下内容
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:YES];
self.navigationController.navigationBar.hidden=NO;
}
答案 0 :(得分:6)
请改为尝试:
- (void) viewWillAppear:(BOOL)animated
{
[self.navigationController setNavigationBarHidden:NO animated:NO];
[super viewWillAppear:animated];
}
答案 1 :(得分:5)
您可以设置initWithNib或viewDidLoad方法并运行它
-(void)viewDidLoad
{
self.navigationController.navigationBar.hidden=NO;
}
答案 2 :(得分:3)
尝试在弹出第二个视图控制器之前显示navigationBar,如下所示:
self.navigationController.navigationBar.hidden=NO;
[self.navigationController popViewControllerAnimated:YES];
答案 3 :(得分:1)
使用以下方法尝试:
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
self.navigationController.navigationBar.hidden=NO;
}
但对我而言,它应该在viewWillAppear中工作。
答案 4 :(得分:1)
将以下代码放在第二个视图中
-(void)viewWillDisappear:(BOOL)animated{
self.navigationController.navigationBarHidden=NO;
}