设置状态栏着色颜色(Set Status Bar Tint Colour)

2019-08-03 05:54发布

我有一个标签栏的应用程序和状态栏色调颜色设置为默认的 - 所以它总是在我的应用我的选择蓝色。

然而,在一个视图中,我躲在我的导航栏,如下所示:

[self.navigationController setNavigationBarHidden:YES];

这是在viewWillAppear的方法和观点是可访问的,因为它是我的应用程序的选项卡之一。

我隐藏了,究其原因是因为我想提出一个工具栏(约6个按钮)在它的位置。

我已经把我的工具栏的颜色色调,然而,这一观点在状态栏始终是黑色的。 有没有重新设置此视图的状态栏的方式,还是有更好的方法来隐藏导航栏,以保持状态栏色调的颜色。

UPDATE我读的地方,当着色设置为默认,状态栏的颜色将在报头中的最低像素的颜色。

我试图躲藏在故事板的导航栏,也试图改变色调的颜色来“定制”但这也没有影响。

这两个截图可以说明我的问题。 切换导航栏更改状态栏的颜色。 这是有问题的视图被嵌入在导航控制器。

Answer 1:

啊! 我有一个有效的解决方案......尽管是一个非常肮脏的和临时的解决方案。

  1. 简单地隐藏故事板导航栏(如图所示的问题在图像-取消选中Shows Navigation Bar )。
  2. 拖动导航栏进入视图。
  3. 设置它的Alpha为0,并取消User Interaction Enabled - 不要使隐藏
  4. 确保导航栏的顶部 - 如以下的图像。

这样,你的状态栏会拿起正确的颜色,而不显示导航栏。

希望更有弹性/更好的方式来做到这一点会在最近的Xcode更新。

顶提示:为了使工具栏看起来像一个导航栏:

  1. 在Y轴上的工具栏-1位
  2. 创建标签(没有文本)与44px的高度,宽度在0,0 320像素和位置。 这将是标签栏底部边框。 为了达到最佳效果,把你的应用程序的页面截图,并使用软件来获取边框的颜色 - 这是选项卡的最暗部分的阴影开始之前(使用这种颜色作为标签的背景)。


Answer 2:

Change statusBarStyle of application-
[[UIApplication sharedApplication] 
      setStatusBarStyle:UIStatusBarStyleDefault animated:NO];


Answer 3:

如果您使用的是iOS 6.0,你可以通过plist文件设置状态栏的颜色。 见- 如何设置状态栏色调颜色在iOS 6?

从iOS 6的发布说明;

状态栏

现在可以设置状态栏色调参数在应用程序的Info.plist文件。 你可以这样做,以确保状态栏的颜色在启动过程中您的应用程序的导航栏的颜色相匹配。 要设置状态栏色调,添加UIStatusBarTintParameters关键是你的Info.plist文件。 此关键字的值是描述导航栏中的应用程序有在启动相应值的字典。 字典里面应该是UINavigationBar的关键,具有价值,这也是一本字典。 该字典包含初始导航栏的风格(与样式键),并指出是半透明的(与半透明键)。 你也可以指定你的导航条的着色颜色(与TintColor键)或它的自定义背景图片的名称(用的BackgroundImage键)。

[编辑]

这似乎在IOS 6中的状态栏的颜色自动地被导航条颜色确定的。 隐藏导航栏之前,你的导航栏的颜色设置为默认,看看是否有什么差别。



文章来源: Set Status Bar Tint Colour