setStatusBarHidden is deprecated in iOS 9.0

devops_engineer picture devops_engineer · Jun 29, 2015 · Viewed 33.8k times · Source

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

Nilesh Patel picture Nilesh Patel · Jun 30, 2015

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.