【问题标题】:How to change statusbar tint color with hidden navigationcontroller in iOS 6.0?如何在 iOS 6.0 中使用隐藏的导航控制器更改状态栏色调颜色?
【发布时间】:2013-03-26 10:32:30
【问题描述】:

我有 uinavigationcontroller 和 uiviewcontroller。现在我的navigationbarhidden = yes。 但是当我隐藏导航栏时,状态栏的颜色就改变了。 我想将状态栏的颜色更改为隐藏导航栏的颜色。 我这样做了:

如图所示,我没有在任何地方使用导航控制器。这只是 iOS6 中的 hack 方式,但它只改变了不在导航控制器中的视图的颜色。不过对我来说,解决方案只在 iOS6 中很重要

有什么想法吗?

【问题讨论】:

  • 你想要状态栏颜色和导航栏颜色一样吗??

标签: ios objective-c uinavigationcontroller uistatusbar


【解决方案1】:

更改状态栏颜色

用于隐藏导航栏

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    [self.navigationController setNavigationBarHidden:YES animated:YES];
}

【讨论】:

  • 现在,如果 navigationBarHidden = NO。我有一个问题:状态栏的颜色没有改变!?
  • 在某个地方 navigationBarHidden = NO,在某个地方 navigationBarHidden = YES。
【解决方案2】:

正如this post中的回答:

在“项目摘要”的“状态栏”中,将“样式”和“着色”设置为“默认”。 然后,跳到您的 xib 或故事板中,并在状态栏下方添加一个 UINavigationBar。 将 UINavigationBar“样式”设置为“默认”并选择您选择的“着色”。 跑步! :-)

如果您不希望任何 UINavigationBar 在您的界面中可见,您只需将 UINavigationBar 放在所有对象的后面,或者将“Alpha”设置为零。

【讨论】:

  • 这不是解决方案。这是一种以添加不必要的 UI 元素为代价的 hack,它使查看 xib 文件的任何人都感到困惑,并且难以与屏幕顶部附近的其他 UI 元素一起工作。
猜你喜欢
  • 2015-05-07
  • 2014-02-02
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
相关资源
最近更新 更多