1

我当前的应用程序在 iOS 4.2、5 和 6 上运行。

导航栏为橙色,状态栏为黑色背景。但是,当我在 iOS 7 上运行相同的应用程序时,我观察到状态栏看起来是透明的,并且与导航栏具有相同的橙色背景颜色。

因此,我无法区分状态栏和导航栏。如何使状态栏看起来与 iOS 5 和 6 中的一样,即黑色背景颜色和白色文本颜色?如何以编程方式执行此操作?

我在谷歌上搜索了这个,发现一个建议我必须添加一个黑色背景,大约 20 像素高的视图与状态栏重叠以提供黑色背景视图。我试过了,但没有成功。

有人可以为我提供执行此操作的代码吗?

4

1 回答 1

0

尝试调用下面的函数application:didFinishLaunchingWithOptions 它对我有用

func setStatusBarBackgroundColor(color: UIColor) {

guard  let statusBar = UIApplication.sharedApplication().valueForKey("statusBarWindow")?.valueForKey("statusBar") as? UIView else {
    return
}

statusBar.backgroundColor = color
}

迅速

如果在目标 C 中工作,请尝试以下操作:

- (void)setStatusBarBackgroundColor:(UIColor *)color {

UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];

if ([statusBar respondsToSelector:@selector(setBackgroundColor:)]) {
    statusBar.backgroundColor = color;
}
}

希望它会对其他人有所帮助,就像多年前发布的问题一样。:)

于 2019-05-17T11:19:07.943 回答