【问题标题】:Status bar color changed when change UINavigationBar appearance backgroundimage更改 UINavigationBar 外观背景图像时状态栏颜色更改
【发布时间】:2012-11-23 05:11:30
【问题描述】:

我用这行代码来改变导航栏背景:

    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"image.png"] forBarMetrics:UIBarMetricsDefault];

在 iOS6 中,它可以工作,但在 iOS5 中,状态栏的背景也发生了变化,如下图所示:

这是怎么发生的。提前致谢。

还有一件事,我只是想改变UINavigationBar的颜色,所以我用了这段代码:

[[UINavigationBar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"image.png"]]];

它在 iOS6 中运行良好,但在 iOS5 中不行。是什么原因?

【问题讨论】:

  • 您检查您的[[UIApplication sharedApplication] statusBarStyle] 是否设置为UIStatusBarStyleBlackTranslucent
  • 谢谢,Eonil,你的建议很有效。但是无论如何要保持状态栏样式不变,因为即使在此应用退出后,这似乎也会改变状态栏样式?
  • 谢谢,看来开发者可以随意更改状态栏了。希望这不会冒犯我们的用户。它在用户体验指南中吗?我还没有读完。
  • 视情况而定。通常改变颜色或隐藏它(对于沉浸式应用程序)是可以的,但修改状态栏的内容通常是不可接受的。

标签: ios5 uinavigationcontroller ios6 appearance tintcolor


【解决方案1】:

你可以用这个来设置你的状态栏

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES];

所以状态栏颜色为黑色,字体颜色为白色..

【讨论】:

    猜你喜欢
    • 2015-09-26
    • 2019-11-20
    • 2016-10-16
    • 2015-10-09
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 2011-12-07
    相关资源
    最近更新 更多