设置状态栏色调颜色
我有一个标签栏应用程序和状态栏的色调设置为默认 – 所以它始终是我select的蓝色在我的应用程序。
然而,在一个视图中,我隐藏了我的导航栏,如下所示:
[self.navigationController setNavigationBarHidden:YES];
这是在viewWillAppear
方法和视图是可访问的,因为它是我的应用程序的选项卡之一。
我隐藏它的原因是因为我想在其位置放置一个工具栏(大约6个button)。
我已经设置了我的工具栏的色调,但是,这个视图上的状态栏总是黑色的。 有没有办法重新设置这个视图的状态栏,或者有更好的方法来隐藏导航栏,以保持状态栏的色调颜色。
更新我读的地方,当着色设置为默认情况下,状态栏的颜色将是头中最低像素的颜色。
我试图隐藏故事板中的导航栏,也尝试将色彩颜色更改为“自定义”,但这也没有影响。
这两个截图可能说明我的问题。 切换导航栏将更改状态栏的颜色。 这是有问题的视图所embedded的导航控制器。
啊! 我有一个工作解决scheme…尽pipe是一个非常肮脏的临时解决scheme。
- 只需隐藏故事板中的导航栏(如问题图片所示 – 取消选中
Shows Navigation Bar
)。 - 将导航栏拖到视图中。
- 将
Alpha
设置为0并取消选中User Interaction Enabled
– 不要隐藏 -
确保导航栏位于顶部 – 如下图所示。
这样你的状态栏会select正确的颜色而不显示导航栏。
希望有一个更灵活/更好的方式来做到这一点将在最近的Xcode更新。
重要提示:使一个工具栏看起来像一个导航栏:
- 将工具栏-1放置在Y轴上
- 创build一个高度为44px,宽度为320px,位置为0,0的标签(不带文本)。 这将是标签栏的底部边框。 为获得最佳效果,请截取应用程序页面的屏幕截图,并使用软件获取边框的颜色 – 这是阴影开始前(使用此颜色作为标签背景)之前选项卡中最黑暗的部分。
Change statusBarStyle of application- [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:NO];
如果您使用iOS 6.0,则可以通过plist文件设置状态栏颜色。 请参阅 – 如何在iOS 6上设置状态栏的色调颜色?
从iOS 6发行说明;
状态栏
现在可以在应用的Info.plist文件中设置状态栏的色调参数。 您可能会这样做,以确保状态栏颜色与启动过程中应用的导航栏颜色相匹配。 要设置状态栏的色调,请将UIStatusBarTintParameters项添加到Info.plist文件中。 此键的值是一个字典,其中包含适当的值,用于描述应用程序在启动时的导航栏。 在字典里应该是UINavigationBar键,它的值也是一个字典。 该字典包含初始导航栏的样式(使用Style键),并指示它是否半透明(使用半透明键)。 您还可以指定导航栏的色调(使用TintColor键)或其自定义背景图像的名称(使用BackgroundImage键)。
[编辑]
在iOS 6中,状态栏颜色似乎是由导航栏颜色自动确定的。 在隐藏导航栏之前,您可以将导航栏的颜色设置为默认值,并查看是否有任何区别。