How to prevent iOS 5 from showing the status bar e

2019-04-08 05:30发布

问题:

Some users reported that iOS 5 sometimes shows the status bar.

In my Info.plist the UIStatusBarHidden key is YES, and I never mess around with the status bar in code.

What can I do to fix that?

回答1:

the entry in the Info.plist should be enough to hide it, but you can try doing it programmatically with:

[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];  

when your app starts up.



回答2:

I think the above method is deprecated in iOS5, I would use this one instead:

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


回答3:

Found the solution!

I did set property in the plist but was still getting status bar visible after pushing a view controller into the navigation stack or opening UIImagePickerController: (I use Xcode 4.2 (SDK 5.0) and iOS 5.0.1).

Here it is (put the code in every View Controller you don't need status bar to be visible):

Set self.wantsFullScreenLayout = YES; in

- (id)initWithNibName: (NSString*)nibNameOrNil bundle: (NSBundle*)nibBundleOrNil

call

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

in

- (void)viewWillAppear: (BOOL)animated

Then it works in case of pushing controllers through navigation stack as well as using UIImagePickerController (both taken picture or cancelled).

Hope this helps.



回答4:

xcode 4.5 gives you an check Option to hide status bar on summary page

  1. Go to Target of project.
  2. Open sumaary and then check the Hide StatusBar Option..


回答5:

Are you using 3rd party frameworks that show the status bar?