iOS_programmer iOS_programmer - 2 months ago 42
Objective-C Question

setStatusBarHidden is deprecated in iOS 9.0

I am upgrading my code from iOS 8 to iOS 9. I have a code snippet in my program

[[UIApplication applicationName] setStatusBarHidden:YES];
.

I am getting the warning "setStatusBarHidden is deprecated in iOS 9.0, Use -[UIViewController prefersStatusBarHidden". If I just replace 'setStatusBarHidden' with 'prefersStatusBarHidden', I get 'instance method not found'.
Can someone please suggest me how to solve this problem?

Answer

Add below code to your view controller..

 - (BOOL)prefersStatusBarHidden {

   return NO;
}

Note :

  • If you change the return value for this method, call the setNeedsStatusBarAppearanceUpdate method.
  • For childViewController, To specify that a child view controller should control preferred status bar hidden/unhidden state, implement the childViewControllerForStatusBarHidden method.