我想像Facebook应用程序background
那样设置statusbar
颜色,但我找不到在Apple的文档中修复它的方法。对我有什么建议吗?
答案 0 :(得分:4)
您无法更改状态栏颜色,因为它没有要更改的背景。
但是,您可以在20px高度创建视图并将其放在状态栏后面。
如果您有UINavigationBar,您可以删除UINavigationBar的背景颜色,或者将子视图添加到UINavigationBar,高度为20px,并为其指定状态栏的颜色。
我在github上找到了这个,你可以检查代码并找出如何更改前20px的颜色https://github.com/remirobert/RRMaterialNavigationBar
答案 1 :(得分:1)
正如他们所说,您可以使用所需的颜色生成20px视图。
首先,您需要隐藏info.plist中的状态栏: - 将基于控制器的状态栏外观设置为NO
然后你可以在AppDelegate中设置这样的新颜色:
UIView *view=[[UIView alloc] initWithFrame:CGRectMake(0, 0,[UIScreen mainScreen].bounds.size.width, 20)];
view.backgroundColor=[UIColor blackColor];
[self.window.rootViewController.view addSubview:view];
答案 2 :(得分:0)
一个解决方案包含appDidFinishLaunching中的这两行代码,在appDelegate中:
UIApplication.sharedApplication().keyWindow?.backgroundColor = UIColor.greenColor()
UINavigationBar.appearance().clipsToBounds = true
这将基本上更改所有应用程序视图控制器的statusBar背景颜色,您还必须为所有viewControllers设置clearColor()的背景颜色。