如何在iOS 7中使用NavigationBar背景图像44px高度更改状态栏背景?

时间:2014-02-19 02:34:10

标签: ios7 background statusbar navigationbar navigationcontroller

我正在使用带有NavigationBar的NavigationController可见。我从这里读到了Bars and Bar Buttons

  

黑色,如果使用UIBarPositionTopAttached。由窗口提供   background,如果使用UIBarPositionTop。

首先,我使我的ViewController符合UIBarPositioningDelegate并实现

- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar
{
    return UIBarPositionTop;
}

然后我使用了一个44像素高的图像用于NavigationBar

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar_background"]
                                                forBarMetrics:UIBarMetricsDefault];

并设置窗口背景颜色

self.window.backgroundColor = [UIColor greenColor];

但结果是StatusBar背景颜色仍为黑色。我希望它是绿色的

为什么以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你不会需要这个答案,但我遇到了同样的问题

我刚刚使用了大小(320 x 64)的图像并覆盖了状态栏的背景区域,因此丢弃了黑色部分,你可以为前20个像素添加一些其他bg,这将覆盖状态栏