how to hide status bar when splash screen appears

2019-01-20 23:41发布

问题:

Is there a way to hide the status bar when showing splash screen in iPhone and then show again in application?

回答1:

I'm pretty sure that if your Info.plist file has the Status bar is initially hidden value set to YES, then it won't show while your application is loading. Once your application has loaded, you can re-show the status bar using UIApplication's setStatusBarHidden:animated: method.



回答2:

The correct key in .plist is "UIStatusBarHidden" and make checked right side.It'l become "Status bar is initially hidden" then automatically. In my practice, you can control the StatusBar's show/hide anywhere by when hide:

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 0, 320, 480); //full screen.

when show:

[[UIApplication sharedApplication] setStatusBarHidden:NO withAnimation:NO];
[UIApplication sharedApplication].keyWindow.frame=CGRectMake(0, 20, 320, 460); //move down 20px.

hope this was helpful to you.



回答3:

View -> Property List Type -> iPhone Info.plist. Now, make a new item with "Status bar is initially hidden" checked.



回答4:

Following up Dave's answer the key "Status bar is initially hidden" didn't work for me under iOS 4.3 BUT the key "UIStatusBarHidden" and then setting it's type to Boolean and checking the box did the trick.

http://developer.apple.com/library/ios/#documentation/general/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html#//apple_ref/doc/uid/TP40009254-SW4

This developer article got me onto the Info.plist keys and then working out the equivalent key for hiding it wasn't too hard.

Interestingly the "UIStatusBarStyle" needs to use the enumeration name as a string for it to work.



回答5:

For Xcode 5 and above you can just set:

View controller-based status bar appearance to NO

In your info.plist, or in the info tab on your main project.



回答6:

write this 1 line in to your main .m viewDidload method

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

or select info.plist file from your project supporting files folder in workspace

set statusbarinitialyhidden to YES



回答7:

is deprecated

setStatusBarHidden:(BOOL) animated:(BOOL) 

is the correct

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation which can be:

UIStatusBarAnimationNone or UIStatusBarAnimationFade or UIStatusBarAnimationSlide



回答8:

Add Status bar is initially hidden to YES in the info.plist file. This worked for me.



回答9:

For XML editors ~ add to first child of

<key>UIStatusBarHidden</key>
<true/>


回答10:

This worked for me in the info.plist:

"View controller-based status bar appearance"  -> set to NO


回答11:

On iOS 10 (beta 8) if Status bar is initially hidden key is set to YES, splash view is displayed without status bar, and it becomes visible automatically after splash view disappears, no need to code.

Note I'm using Apple's recommended way of showing a splash: storyboard, and not sure this will work with launch images.