【问题标题】:Set status bar colour for different view controllers为不同的视图控制器设置状态栏颜色
【发布时间】:2014-07-17 09:01:38
【问题描述】:
我有 6 个视图控制器。我想将我的第一个视图控制器的状态栏设置为黑色,然后将其他 5 个设置为白色。所有视图控制器都在一个推送堆栈中。
我已经尝试实现
[self setNeedsStatusBarAppearanceUpdate]
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
这似乎不起作用。我也尝试过使用应用程序 plist 属性。有什么想法吗?
【问题讨论】:
标签:
ios
objective-c
uistatusbar
【解决方案1】:
如果您想更改状态栏的背景颜色,那么这是可能的。
您必须将UIWindow 's background colour 更改为您喜欢的颜色。尝试关注
例如
[[UIApplication sharedApplication].delegate window].backgroundColor = [UIColor orangeColor];
如果你想改变文字颜色,那就试试吧
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
【解决方案2】:
您在 Plist 中错过了此设置
查看基于控制器的状态栏外观到YES
【解决方案3】:
执行以下操作。
- 查看基于控制器的状态栏外观 = 否在 plist 中。
-
您要在 ViewwillApper 添加 白色 的 ViewController 添加
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
-
你想在ViewwillApper中黑色添加的ViewController
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];