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

显示和隐藏状态栏+;在iOS中更改视图控制器之间的状态栏文本颜色,ios,objective-c,ios7-statusbar,Ios,Objective C,Ios7 Statusbar,还有一个关于iOS 7状态栏颜色和可见性的问题。。。在我的解决方案中,我希望拥有所有这些: 状态栏将被隐藏并显示在视图控制器上(带有动画),以响应用户操作(当用户滑动内容时) 将新视图控制器推送到导航控制器时,状态栏中文本的颜色应从黑色变为白色 当新的视图控制器出现时,状态栏应始终显示 “基于视图控制器的状态栏外观”plist设置有问题;如果没有,我可以显示和隐藏状态栏,但不能更改颜色;当设置为“是”时,反之亦然。在plist中将基于视图控制器的状态栏外观设置为“否”,则可以工作 例如->

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

  • 状态栏将被隐藏并显示在视图控制器上(带有动画),以响应用户操作(当用户滑动内容时)
  • 将新视图控制器推送到导航控制器时,状态栏中文本的颜色应从黑色变为白色
  • 当新的视图控制器出现时,状态栏应始终显示

“基于视图控制器的状态栏外观”plist设置有问题;如果没有,我可以显示和隐藏状态栏,但不能更改颜色;当设置为“是”时,反之亦然。

在plist中将基于视图控制器的状态栏外观设置为“否”,则可以工作

例如-> 假设在
viewcontroller1
中,我有下面一段代码

-(void)viewDidAppear:(BOOL)animated{
    [super viewDidAppear: animated];
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
}
我从
viewcontroller1
按下
viewcontroller2
,它有下面的代码

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

当在模拟器中测试上述代码时,它完美地为更改设置了动画。

您是否使用UIStatusBarStyle枚举来设置它们?比如[[UIApplication sharedApplication]setStatusBarStyle:(UIStatusBarStyle)]是的。当“基于视图控制器的状态栏外观”plist设置为“是”时,此选项起作用,但随后
[[UIApplication sharedApplication]setStatusBarHidden:YES with Animation:UIStatusBarAnimationSlide]停止工作。