Changing status bar style ios 7?

2019-04-02 06:03发布

问题:

I am trying to change the status bar style of one of my viewcontrollers. I have put this

  1. set the view based status bar to YES in the plist

2.

 -(UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}
  1. Added this also

[self setNeedsStatusBarAppearanceUpdate]

It works i.e I can see the font color white but just after some time it changes back to its previous type..

回答1:

If you are experiencing status bar changing color itself during runtime

try setting set the UIViewControllerBasedStatusBarAppearance to NO in the plist.

And inside your viewController.. set the appearance call inside

-(void)viewDidLayoutSubviews
{
    if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {
        [self setNeedsStatusBarAppearanceUpdate];
    }
}


回答2:

write following code

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


回答3:

This is the only thing I could get working for iOS7

- (UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}


回答4:

You can check this code, a little trick – but useful sometimes.



标签: ios statusbar