I’m trying to change the Status Bar colour mid-run, i.e. not when a controller is loaded. I change the view’s background colour, so I need to change it from the black to white and vice versa.
I know that I can change it using preferredStatusBarStyle
and the setting in the plist, but as far as I can see that’ll only set it on first launching the view controller. I’d like to change it, for instance, when I hit a button.
Can I do that?
Go to your application Plist and add this as new row & set it as NO.
View controller-based status bar appearance NO
Add a bool to determine state of UIStatusBar
colour & add a Toggle method
@property(nonatomic) BOOL black;
-(void)toggleStatuSBar:(id)sender{
if(black) {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
black = NO;
}else {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
black = YES;
}
}
here is a Sample ScreenShot
When Menu is Closed, the colour is White.
When Menu is Open The colour is Black
Hope that helps.
As of Swift 3:
View controller-based status bar appearance NO
2.
White: UIApplication.shared.statusBarStyle = .lightContent
Black: UIApplication.shared.statusBarStyle = .default
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With