我有一个标签栏应用程序,状态栏色调颜色设置为默认值 - 因此在我的应用程序中始终是我选择的蓝色。
但是,在一个视图中,我隐藏了我的导航栏:
[self.navigationController setNavigationBarHidden:YES];
这是viewWillAppear
方法,可以访问该视图,因为它是我应用的标签之一。
我隐藏它的原因是因为我想在其位置放置一个工具栏(大约有6个按钮)。
我已设置工具栏的色调颜色,但此视图上的状态栏始终为黑色。有没有办法重新设置此视图的状态栏,或者是否有更好的方法隐藏导航栏以保留状态栏色调。
UPDATE 我在某处读到当着色设置为默认值时,状态栏的颜色将是标题中最低像素的颜色。
我尝试将导航栏隐藏在故事板中,并尝试将色调颜色更改为“自定义”,但这也没有效果。
这两个截图可能会说明我的问题。切换导航栏会更改状态栏颜色。这是有问题的视图嵌入的导航控制器。
答案 0 :(得分:6)
稀释!!!我有一个有效的解决方案......虽然这是一个非常肮脏和临时的解决方案。
Shows Navigation Bar
)。Alpha
设置为0并取消选中User Interaction Enabled
- 不要隐藏 确保导航栏位于顶部 - 如下图所示。
这样,您的状态栏将在不显示导航栏的情况下选择正确的颜色。
希望更有弹性/更好的方法是在最近的Xcode更新中。
热门提示: 要使工具栏看起来像导航栏:
答案 1 :(得分:0)
Change statusBarStyle of application-
[[UIApplication sharedApplication]
setStatusBarStyle:UIStatusBarStyleDefault animated:NO];
答案 2 :(得分:0)
如果您使用的是iOS 6.0,则可以通过plist文件设置状态栏颜色。见 - How to set status bar tint color on iOS 6?
状态栏
现在可以在应用程序中设置状态栏色调参数 Info.plist文件。您可以这样做以确保状态栏颜色 在启动期间匹配您应用的导航栏颜色。设置 状态栏色调,将UIStatusBarTintParameters键添加到您的 Info.plist文件。这个键的值是一个字典 适当的值描述您的应用所具有的导航栏 启动。字典里面应该是UINavigationBar键, 它的值也是字典。那个词典包含 初始导航栏的样式(使用Style键)并指示 是否是半透明的(使用半透明键)。你也可以 指定导航栏的色调颜色(使用TintColor键)或 自定义背景图像的名称(使用BackgroundImage 键)。
[编辑]
在iOS 6中似乎状态栏颜色由导航栏颜色自动确定。在隐藏导航栏之前,您可以将导航栏的颜色设置为默认值,看看是否有任何区别。