我目前的应用程序在iOS 4.2,5和6上运行。
导航栏呈橙色,状态栏呈黑色背景色。但是,当我在iOS 7上运行相同的应用程序时,我发现状态栏看起来是透明的,与导航栏的橙色背景颜色相同。
由于这个原因,我无法区分状态栏和导航栏。 如何使状态栏看起来与iOS 5和6中的状态相同,即黑色背景颜色和白色文本颜色?我该如何以编程方式执行此操作?
我在谷歌搜索了这个,并发现了一个建议,我要添加一个黑色背景,大约20像素高视图重叠状态栏,以提供黑色背景视图。我尝试了但是没有成功。
有人可以提供代码来执行此操作吗?
答案 0 :(得分: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;
}
}
正如许多年前发布的问题一样,希望它对其他人有帮助。 :)