iOS 7 - Hide status bar on certain view

Josue Espinosa picture Josue Espinosa · Oct 4, 2013 · Viewed 11.2k times · Source

This is a rather unique question. I have searched for hours and could not find the answer. I want ALL UIViewControllers in my app to have the UIStatusBar visible. But on a certain UIViewController, when you tap a UIButton, the following method calls the camera modalView controller. I want to hide the status bar when the following method is called:

-(BOOL)startCameraControllerFromViewController:(UIViewController*)controller
                                 usingDelegate:(id )delegate 

I have tried changing the plist file with UIViewController based status bar = YES (I only want the UIStatusBar hidden when that modal view is pulled up)

I have also tried the following within the above method:

[[UIApplication sharedApplication] setStatusBarHidden:YES 
                                   withAnimation:UIStatusBarAnimationNone];
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) {

    [[UIApplication sharedApplication] setStatusBarHidden:YES 
                                       withAnimation:UIStatusBarAnimationNone];

Nothing seems to work. Can anyone help?

Answer

karthika picture karthika · Oct 4, 2013

Implement this method in your View Controller,

-(BOOL)prefersStatusBarHidden
{
    return YES;
}

and call this method where you want,

[self prefersStatusBarHidden];