【问题标题】:Hiding a UINavigationBar after hitting back button点击后退按钮后隐藏 UINavigationBar
【发布时间】:2014-09-19 07:25:26
【问题描述】:

我有 3 个视图控制器,它们都像这样链接在一起:

vc1 -> vc2 -> vc3

在视图控制器 1 和 2 中,导航栏隐藏如下:

elf.navigationController.navigationBarHidden = NO;

第三个视图控制器显示导航栏,左侧有一个后退按钮。当我点击后退按钮时,它会转到视图控制器 2,但导航栏不再隐藏。如何再次隐藏它?

【问题讨论】:

    标签: ios ios7 uinavigationcontroller uinavigationbar


    【解决方案1】:

    在 viewController1 和 viewController2 的 viewWillAppear 方法中编写这段代码

    -(void)viewWillAppear:(BOOL)animated{
        self.navigationController.navigationBarHidden = YES;
    }
    

    谢谢

    【讨论】:

      【解决方案2】:

      在第三个视图控制器中使用这个简单的代码

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

      【讨论】:

      • 我建议使用出现方法中的动画标志,而不是总是使用 YES。喜欢:[self.navigationController setNavigationBarHidden:YES Animation:animated];无论视图控制器是否以动画形式呈现,这都会使其正常工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多