如何通过不隐藏我的应用中的状态栏来隐藏导航栏?当我尝试[self.navigationController.navigationBar setHidden:YES];
时,它也会隐藏状态栏。我需要像这样显示状态栏:
我需要先隐藏一个可见的导航栏,让状态栏仍然可见,我还有一个视图,我需要移动到状态栏下方,但视图的位置就像导航栏仍然存在时我将帧的位置设置为0,0。
我将状态栏设置为:
[[UIApplication sharedApplication] setStatusBarHidden:NO];
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
答案 0 :(得分:1)
将此添加到您要隐藏导航栏的代码
[self.navigationController.navigationBar setHidden:YES];
答案 1 :(得分:0)
如果要隐藏导航栏但显示状态栏,则应将顶部空间到顶部布局指南设置为0而不是-44。然后
Hide navigation bar in viewWillAppear instead of viewDidLoad:[self.navigationController setNavigationBarHidden:YES animated:YES]
我开始将顶部空间设置为-44,然后调用方法[[UIApplication sharedApplication] setStatusBarHidden:NO]
,它不起作用。
答案 2 :(得分:0)
在我的情况下,状态栏文本和符号未显示,因为它们具有与背景相同的颜色(黑色)。我通过改变背景颜色解决了这个问题:
[self.navigationController.navigationBar.superview setBackgroundColor:UIColor.whiteColor];