使用 xcode 4.2 和 iOS 5 并在根 Controller 和其他四个 View (inc UITable View )上有导航栏,我想要的只是在第一个 Root View Controller 中隐藏导航栏并在所有其他 View 中显示...
试过了
[self.navigationController setNavigationBarHidden:YES animated:animated];
运气不好有什么想法吗?
Best Answer-推荐答案 strong>
在您的根 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/
|