OGeek|极客世界-中国程序员成长平台

标题: ios - UINavigationController 隐藏导航栏 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:57
标题: ios - UINavigationController 隐藏导航栏

使用 xcode 4.2 和 iOS 5 并在根 Controller 和其他四个 View (inc UITable View )上有导航栏,我想要的只是在第一个 Root View Controller 中隐藏导航栏并在所有其他 View 中显示...

试过了

[self.navigationController setNavigationBarHidden:YES animated:animated];

运气不好有什么想法吗?



Best Answer-推荐答案


在您的根 Controller (或您希望隐藏导航栏的所有 View Controller 。请参阅 [1])中使用此代码,以便根据您的目标隐藏/显示导航栏:

- (void)viewDidLoad {
   ...
  [self.navigationController setNavigationBarHidden:YES animated:NO];
   ...
}

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

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

这只是一个可能的解决方案。您可以在非根 Controller 中保留 viewWillDisappear 未定义,并在根 Controller 中定义 viewWillAppear...您认为这对您最方便。

[1] 将导航栏隐藏在根 Controller 以外的任何位置都会导致卡在导航层次结构的中间。此外,在 iOS 应用中突然隐藏除 Root View 之外的任何其他内容的导航栏也是违反直觉导航的。)

关于ios - UINavigationController 隐藏导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8932770/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4