设置不同视图控制器的状态栏颜色

时间:2014-07-17 09:01:38

标签: ios objective-c uistatusbar

我有6个视图控制器。我想将我的第一个视图控制器的状态栏设置为黑色,然后将另一个5的状态栏设置为白色。所有视图控制器都在推送栈中。

我试图实施

[self setNeedsStatusBarAppearanceUpdate]

- (UIStatusBarStyle) preferredStatusBarStyle { 
return UIStatusBarStyleLightContent; 
}

这似乎不起作用。我也试过玩app plist属性。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

如果您想更改状态栏的背景颜色,那么可能。 您必须将UIWindow 's background colour更改为您喜欢的颜色。尝试以下

e.g。

[[UIApplication sharedApplication].delegate window].backgroundColor = [UIColor orangeColor];

如果您想更改文字颜色,请尝试

 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

答案 1 :(得分:0)

您在Plist中错过了此设置

查看基于控制器的状态栏外观

enter image description here

答案 2 :(得分:0)

做以下事情。

  1. 查看基于控制器的状态栏外观= plist中的NO。
  2. 要在ViewwillApper中添加白色的ViewController

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    
  3. 要在ViewwillApper中添加黑色的ViewController

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];