I want the status bar to be displayed in both orientations in iOS 8; it\'s being displayed properly in iOS 7.
navigationController.isNavigationBarHidden
I had the same issue! Fixed by addicting this to viewDidLoad
[self setNeedsStatusBarAppearanceUpdate];
And this to implementation itself
-(BOOL)prefersStatusBarHidden{
return NO;
}
To display status bar in landscape mode in ios 8, try following method
- (BOOL)prefersStatusBarHidden {
return NO;
}
Swift version
override func prefersStatusBarHidden() -> Bool {
return false
}
Swift 3, Xcode 8, iOS 10, /* ViewController.swift */
override var prefersStatusBarHidden: Bool {
return false
}
Jageen's solution is probably the best, with just one minor change i.e. instead of using viewDidLoad
, it's better to use application:didFinishLaunchingWithOptions:
.
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.
We fixed it by following the above steps and making sure that landscape left and right are both enabled.
Under Project/Target/Deployment Info