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;
}
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
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];
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With