Jac*_* B. 11 iphone uinavigationbar uinavigationcontroller iphone-sdk-3.0 uinavigationitem
我一直在徘徊如何隐藏/删除/禁用导航控制器中的主要或第一个导航栏,以便我可以将图像作为整个背景屏幕,但我找不到任何解决方案.
尝试隐藏主导航控制器的viewdidLoad中的titleview但是没有用.尝试使用navigationBarHidden,但它隐藏了下一堆控制器的整个导航栏.
所以,我不知道该怎么做.举个例子,我希望有一个像这个应用程序 - 大师高尔夫锦标赛 - http://appshopper.com/sports/the-masters-golf-tournament.
如果您查看屏幕1,它顶部没有任何导航栏,但是当您触摸任何选项时,它将推送到新的视图控制器并使导航栏显示在屏幕3,4和5中.
希望有人能帮助我.谢谢你们!
dra*_*ard 18
在我的大多数应用程序中,我有一个自定义的UIViewController类,我从中派生所有其他自定义控制器.在其中一些中,我添加了一个类似于navigationBarInitiallyHidden其他类可以覆盖的基类的方法.默认结果取决于应用程序的性质.
在导航控制器的委托中,当显示实现该方法的控制器时,委托相应地隐藏或显示导航控制器.由于我为隐藏或显示设置了动画,因此我会检查当前状态,如果不需要更改则不执行任何操作.
您可以在委托方法中执行更简单的操作.如果显示的控制器是根控制器,则隐藏导航栏,否则显示它是否隐藏.
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
if ( viewController == rootController ) {
[navigationController setNavigationBarHidden:YES animated:animated];
} else if ( [navigationController isNavigationBarHidden] ) {
[navigationController setNavigationBarHidden:NO animated:animated];
}
}
Run Code Online (Sandbox Code Playgroud)
小智 12
您可以隐藏导航栏:
[self.navigationController setNavigationBarHidden:YES];
以及要再次显示导航栏的位置
[self.navigationController setNavigationBarHidden:NO];
隐藏/禁用
self.navigationController.navigationBarHidden = YES;
Run Code Online (Sandbox Code Playgroud)
显示/启用
self.navigationController.navigationBarHidden = NO;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12822 次 |
| 最近记录: |