5

我有两个 viewControllers ,我从 FirstView 导航到 SecondView ,通过

将 SecondView 推送到导航控制器。因为我不想要导航栏

要在 SecondView 中显示,我执行以下操作

self.navigationController.navigationBar.hidden=YES;

然后我从 secondView 回到 FirstView 如下

[self.navigationController popViewControllerAnimated:YES];

但是现在导航栏也没有显示在 FirstView 中,因为我将它隐藏在

第二视图。我正在 FirstView 中尝试以下操作

-(void)viewWillAppear:(BOOL)animated
{

       [super viewWillAppear:YES];

       self.navigationController.navigationBar.hidden=NO;
}
4

5 回答 5

7

试试这个:

- (void) viewWillAppear:(BOOL)animated
{
    [self.navigationController setNavigationBarHidden:NO animated:NO];
    [super viewWillAppear:animated];
}
于 2012-12-07T10:07:43.377 回答
6

您设置 initWithNib 或 viewDidLoad 方法并运行它

-(void)viewDidLoad
 {
      self.navigationController.navigationBar.hidden=NO;
 }
于 2012-12-07T10:06:07.150 回答
3

在弹出第二个视图控制器之前尝试显示导航栏,如下所示:

self.navigationController.navigationBar.hidden=NO;
[self.navigationController popViewControllerAnimated:YES];
于 2012-12-07T10:10:49.583 回答
1

试试下面的方法:

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    self.navigationController.navigationBar.hidden=NO;
}

但对我来说,它应该在 viewWillAppear 中工作。

于 2012-12-07T10:13:54.503 回答
1

将下面的代码放在第二个视图中

-(void)viewWillDisappear:(BOOL)animated{
self.navigationController.navigationBarHidden=NO;

}

于 2016-04-18T06:08:46.423 回答