在基于导航的应用程序-iphone中的选定视图中隐藏导航栏

Posted

技术标签:

【中文标题】在基于导航的应用程序-iphone中的选定视图中隐藏导航栏【英文标题】:hide navigation bar in selected view in navigationbased application-iphone 【发布时间】:2011-07-03 10:01:25 【问题描述】:

我正在开发应用程序,我已经基于应用程序导航。我只想从选定的视图中隐藏导航栏,我该怎么做? 我使用了以下代码,但它隐藏了整个应用程序的栏 self.navController.navigationBarHidden = YES;

如果有什么办法请告诉我..

提前致谢

【问题讨论】:

尝试接受你之前的回答,会有更多人帮助你。 How to hide navigation bar in iPhone?的可能重复 【参考方案1】:

在 selectedView 中,当主视图 didLoad 时隐藏导航控制器,当视图消失时取消隐藏

例如:- 在 selectedView.m 中

- (void)viewDidLoad 
    [super viewDidLoad];
[[self navigationController] setNavigationBarHidden:YES animated:NO];

- (void)viewWillDisappear:(BOOL)animated 
    [super viewWillDisappear:animated];
    [[self navigationController] setNavigationBarHidden:NO animated:NO];

现在通过这样做,您将不会在 selectedView 中获得导航控制器,而是在其他视图中获得导航控制器......对于更多的问题,请尝试从已经询问过的 how to work without with navigation controller 获得帮助

希望这可以帮助你....祝你好运!!!

【讨论】:

【参考方案2】:

在您希望导航控制器使用的视图上

self.navigationController.navigationBar.hidden=YES;

this in viewWillAppear

self.navigationController.navigationBar.hidden=NO;

在同一视图的viewWillDisappear方法中

【讨论】:

【参考方案3】:
- (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];

【讨论】:

【参考方案4】:

试试这段代码,

self.navigationController.navigationBar.hidden=YES;

祝你好运

【讨论】:

【参考方案5】:

您必须在要隐藏导航栏的控制器中编写以下代码...

self.navigationController.navigationBar.hidden=YES;

您必须在下面编写要在其中显示导航栏的代码...

self.navigationController.navigationBar.hidden=NO;

在各自的 viewWillAppear 中编写这两个代码 ...

【讨论】:

以上是关于在基于导航的应用程序-iphone中的选定视图中隐藏导航栏的主要内容,如果未能解决你的问题,请参考以下文章

将表格视图和导航控件添加到现有的基于视图的应用程序

如何导航到 iPhone 中的下一个视图控制器

从自定义 NSObject 内部视图推送导航应用程序中的新视图

iPhone dev - 基于导航的应用程序模板中的导航控制器在哪里?

如何将相同的 UIButton 添加到 iphone 中的所有视图控制器的导航栏?

子视图在基于导航的应用程序中表现异常