如何隐藏状态栏时,闪屏出现在 iPhone?

有没有办法在 iPhone 中显示闪屏时隐藏状态栏 然后在应用中再次显示?

49720 次浏览

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.

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

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.

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.

is deprecated

setStatusBarHidden:(BOOL) animated:(BOOL)

is the correct

setStatusBarHidden:(BOOL) withAnimation:(UIStatusBarAnimation)

UIStatusBarAnimation which can be:

UIStatusBarAnimationNone or UIStatusBarAnimationFade or UIStatusBarAnimationSlide

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

For XML editors ~ add to first child of

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

This worked for me in the info.plist:

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

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.

Example of Info settings in xcode

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

status bar hidden