【问题标题】:jump between the ViewControllers which the navigation bar is hidden在隐藏导航栏的 ViewController 之间跳转
【发布时间】:2016-08-25 10:23:18
【问题描述】:

导航栏有问题。

我有 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。但是当我使用系统手势回到First ViewControllerA时会出现NavigationBar

我希望我能找到一些方法来解决这个问题。谢谢。

【问题讨论】:

  • 对不起,你能改写你的问题吗?我完全确定你想问什么?
  • 对不起我的语法,有人帮我改写问题。 @PavelGatilov

标签: ios objective-c navigation uinavigationbar


【解决方案1】:

你快到了,把它隐藏在 ViewControllerA 中,然后在 ViewControllerB 中显示,当 ViewControllerA 消失时不要显示它。下面的代码就是你所需要的,祝你好运。

ViewControllerA:

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

ViewControllerB:

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

【讨论】:

    【解决方案2】:

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

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

    }

    【讨论】:

      猜你喜欢
      • 2020-07-04
      • 2011-06-04
      • 1970-01-01
      • 2019-03-12
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多