我的应用程序在开头隐藏了导航栏。
但在视图(全屏)中,有一个搜索栏。
当我开始搜索时,搜索栏会保留在视图的顶部。
然后我取消搜索,更改搜索栏的框架,出现导航栏。
为什么会这样?如何隐藏导航栏?
我试过了:
我在searchDisplayControllerWillEndSearch和searchDisplayControllerDidEndSearch
中添加了一些日志以显示导航栏状态。
在searchDisplayControllerDidEndSearch中,navigationController.navigationBarHidden为YES,
在searchDisplayControllerDidEndSearch中,navigationController.navigationBarHidden为NO。
然后我在navigationController.navigationBarHidden to YES
中设置searchDisplayControllerDidEndSearch
,导航栏会显示但会在短时间内隐藏,导航栏将永远不再显示。(navigationController.navigationBarHidden
将始终为YES)< / p>
有什么想法吗?
谢谢!
答案 0 :(得分:0)
在ViewDidLoad方法中编写以下代码。
self.navigationController.navigationBarHidden =YES
其他明智的
self.navigationController.navigationBar.hidden =YES;
答案 1 :(得分:0)
我在这里已经找到了类似的问题:UISearchBar with hidden UINavigationBar
解决方案:IPHONE: ABPeoplePickerNavigationController hidden navigation bar
答案 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];
}