1

我使用导航栏可见的NavigationController。我从这里读取Bars and Bar Buttons如何使用NavigationBar背景图像更改状态栏背景iOS 7中的44px高度?

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

首先,我让我的ViewController符合UIBarPositioningDelegate和实施

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

然后我用一个44px高度图像导航栏

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

,并设置窗口背景色

self.window.backgroundColor = [UIColor greenColor]; 

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

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

回答

0

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

我只是用尺寸(320×64)的图像来了,覆盖的状态栏的背景区域,因此黑色部分被丢弃,您可以为前20个像素添加其他bg,这将覆盖状态栏