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

后端 未结 10 1509
暗喜
暗喜 2020-12-02 11:04

I want the status bar to be displayed in both orientations in iOS 8; it\'s being displayed properly in iOS 7.

navigationController.isNavigationBarHidden

10条回答
  •  南笙
    南笙 (楼主)
    2020-12-02 11:27

    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.

提交回复
热议问题