在导航栏隐藏的ViewControllers之间跳转

时间:2016-08-25 10:23:18

标签: ios objective-c navigation uinavigationbar

我对导航栏有疑问。

ViewControllerA隐藏NavigationBar。我已使用以下代码隐藏navigationBar

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

-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [self.navigationController setNavigationBarHidden:NO animated:animated];
}

我再次推送ViewControllerA然后ViewControllerA。但是当我使用系统手势返回到第一个NavigationBar时,会出现ViewControllerA

我希望我能找到解决这个问题的方法。感谢。

2 个答案:

答案 0 :(得分:0)

你几乎就在那里,将它隐藏在ViewControllerA中,然后在ViewControllerB中显示它,当ViewControllerA消失时不要显示它。以下代码就是您所需要的,祝您好运。

ViewControllerA:

1 1 1 1 1 1 1 1  
1 1 O O O O 1 1  
1 1 O O O O 1 1  
O 1 1 O O 1 1 O  
O O 1 1 1 1 O O  
O O 1 1 1 1 O O  

ViewControllerB:

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

答案 1 :(得分:-1)

亲爱的首先您在导航控制器属性(故事板 - >单击导航控制器 - >属性)中设置隐藏导航栏,并且您希望任何视图控制器场景中的导航栏,以便您在.m文件中添加此代码控制器。

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

}