12

Application build with Xcode 6.x automatically hides the status bar in Landscape orientation (iPhone). The same application when compiled with Xcode 5.x doesn't do that.

How can I prevent the application from hiding the status bar in Landscape orientation? Basically, how can I disable this "super awesome" feature that Apple/Xcode has shoved down my throat?

p.s. I've tried updating the view controllers with the following code, but it doesn't help.

- (BOOL)prefersStatusBarHidden {
    return NO;
}
Salman Zaidi
  • 9,342
  • 12
  • 44
  • 61
Mustafa
  • 20,504
  • 42
  • 146
  • 209

3 Answers3

17

Best possible solution

It's basically a two step process:

1). Set "View controller-based status bar appearance" to NO, in your project's Info.plist file.

2). Force the status bar hidden status to NO, in application:didFinishLaunchingWithOptions:, using the following code:

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

And, voila!

Note: It's important to use both the setStatusBarHidden:withAnimation: statements above, to force the status bar hidden state.


Reference: On iOS8, displaying my app in landscape mode will hide the status bar but on iOS 7 the status bar is displayed on both orientations

Community
  • 1
  • 1
Mustafa
  • 20,504
  • 42
  • 146
  • 209
1

I'm using

#define IS_IOS8 SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0")

-(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
    [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration];

    if (IS_IOS8){
            [[UIApplication sharedApplication] setStatusBarHidden:NO];
    }
}
Phillip
  • 4,276
  • 7
  • 42
  • 74
0

Set "View controller-based status bar appearance" to YES in Info.plist

Then place the following code in the desired view controller:

- (BOOL)prefersStatusBarHidden {
    return NO;
}
Konstantine Kalbazov
  • 2,643
  • 26
  • 29