更改状态栏样式ios 7?

时间:2013-10-18 10:15:21

标签: ios statusbar

我正在尝试更改其中一个viewcontrollers的状态栏样式。我已经把这个

  1. 在plist中将基于视图的状态栏设置为YES
  2. 2

     -(UIStatusBarStyle)preferredStatusBarStyle{
        return UIStatusBarStyleLightContent;
    }
    
    1. 还添加了
    2.   

      [self setNeedsStatusBarAppearanceUpdate]

      它可以工作,但我可以看到字体颜色为白色,但只是在一段时间后它会变回以前的类型..

4 个答案:

答案 0 :(得分:6)

如果您遇到状态栏在运行时更改颜色本身

尝试设置plist中的UIViewControllerBasedStatusBarAppearance NO

在viewController中..设置

中的外观调用
-(void)viewDidLayoutSubviews
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
    }
}

答案 1 :(得分:2)

编写以下代码

-(void)viewWillAppear:(BOOL)Animated{
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}

答案 2 :(得分:0)

这是我唯一可以为iOS7工作的东西

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

答案 3 :(得分:0)

你可以查看这个code,这是一个小技巧 - 但有时很有用。