在iOS中的视图控制器之间显示和隐藏状态栏+更改状态栏文本颜色

时间:2014-02-24 07:47:15

标签: ios objective-c ios7-statusbar

关于iOS 7状态栏着色和可见性的另一个问题...在我的解决方案中,我希望拥有所有这些东西:

  • 状态栏将在视图控制器上隐藏和显示(带有动画)以响应用户操作(当它们滑动时)
  • 当新视图控制器被按下导航控制器时,状态栏中文本的颜色应从黑色变为白色
  • 当新视图控制器进入时,应始终显示状态栏

我在使用'基于视图控制器的状态栏外观'plist设置时遇到问题;当没有时,我能够显示和隐藏状态栏,但不能改变颜色;而当设置为YES时,反之亦然。

1 个答案:

答案 0 :(得分:5)

在plist中使用基于视图控制器的状态栏外观为NO 它可以正常工作。

例如 - > 让我们在viewcontroller1中说,我有一段代码

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear: animated];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
}

我从viewcontroller2推送viewcontroller1代码

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear: animated];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
}

使用上面的代码在模拟器中测试时,它完美地为变化设置了动画。