UINavigationbar将在UISearchbar和搜索后显示,如何隐藏导航栏

时间:2014-09-25 03:10:57

标签: ios objective-c uinavigationbar uisearchbar

我的应用程序在开头隐藏了导航栏。

但在视图(全屏)中,有一个搜索栏。

当我开始搜索时,搜索栏会保留在视图的顶部。

然后我取消搜索,更改搜索栏的框架,出现导航栏。

为什么会这样?如何隐藏导航栏?

我试过了:

我在searchDisplayControllerWillEndSearch和searchDisplayControllerDidEndSearch中添加了一些日志以显示导航栏状态。

  

在searchDisplayControllerDidEndSearch中,navigationController.navigationBarHidden为YES,

     

在searchDisplayControllerDidEndSearch中,navigationController.navigationBarHidden为NO。

然后我在navigationController.navigationBarHidden to YES中设置searchDisplayControllerDidEndSearch,导航栏会显示但会在短时间内隐藏,导航栏将永远不再显示。(navigationController.navigationBarHidden将始终为YES)< / p>

有什么想法吗?

谢谢!

3 个答案:

答案 0 :(得分:0)

在ViewDidLoad方法中编写以下代码。

self.navigationController.navigationBarHidden =YES

其他明智的

self.navigationController.navigationBar.hidden =YES;

答案 1 :(得分:0)

答案 2 :(得分:-1)

  • 您可以在viewDidLoad中使用以下代码隐藏导航栏Self.navigationController.navigationBar.hidden = YES;

  • 如果您正在展示导航控制器,那么您可以在演示之前隐藏导航栏,方法是使用此代码yournavigation.navigaionBar.hidden = YES;

  • 我们可以使用其中一个代码来隐藏导航栏self.navigationController.navigationBarHidden = YES;

    Self.navigationController.navigationBar.hidden = YES;

  • 最终可以解决您的问题隐藏viewWillAppear中的导航栏。我在这里添加代码

    - (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBar.hidden = YES; [super viewWillAppear:animated]; }