2
votes

I need to change the color of status bar text in first view controller to white and in the second view controller it should change to black. Tried with View controller-based status bar appearance to NO and called

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

But it was not changing. Please suggest me.

2
try this code in viewdidload method of desired viewcontroller [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; [self setNeedsStatusBarAppearanceUpdate]; working in my caseMuhammad Waqas Bhati

2 Answers

4
votes

Go to your Plist file and add this property with Bool YES.

Then use

-(UIStatusBarStyle)preferredStatusBarStyle
{
    return UIStatusBarStyleLightContent;
}

Have a look into attached screenshot-

enter image description here

0
votes

You need to have view controller based status bar appearance set to YES for preferredStatusBarStyle to work. If you're still having issues after that then take a look at this SO question: preferredStatusBarStyle isn't called