2012-08-08 206 views
21

有没有办法隐藏时,应用程序的启动图像显示,然后将其带回在状态栏? 我的应用程序有一个黑色的状态栏,在启动图像上显示的是灰色的。隐藏状态栏

有没有解决方案?

回答

44

使用此代码隐藏状态栏:

的ObjectiveC:

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

斯威夫特:

UIApplication.sharedApplication().setStatusBarHidden(true, withAnimation: .Slide) 

如果你不需要在一开始的状态栏。与YES

Status bar is initially hidden 

:在你的信息plist文件添加此设置UIStatusBarHidden

使用此代码的应用程序的任何地方,以显示该特定视图控制器的状态栏

的ObjectiveC:

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

斯威夫特:

UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: .Slide) 
+0

另一件需要注意的事情是UIViewController的'wantsFullScreen'属性。 – Moshe 2012-08-08 15:21:59

+1

把你粘贴的'UIApplication'代码放在哪里最好的地方在哪里? – syntagma 2012-09-07 07:32:57

+0

我把它放在启动中,并且我拥有所有视图控制器来扩展基本控制器。我有一个故事板和一个主要故事板登录。我的基本控制器检测故事板类型,并且如果登录类型I在视图加载中进行此调用。把这个电话放在你的appdelegate:didlaunch中,并且也放在你的基本控制器的viewdidload中(或者如果你想输入很多的视图控制器) – 2013-03-22 14:18:15

12

只要定义在plist文件一键解决您的问题

enter image description here

编码快乐:)

+2

不幸的是,这使得我的整个应用程序全屏。虽然我只希望启动图像全屏。我试图在viewDidLoad中放置setStatusBarHidden:NO,但状态栏与视图重叠:( – 2012-08-08 13:04:06

+0

谢谢,它解决了我的问题。:) – 2017-02-23 17:59:33

+0

谢谢...!就这样!!! :P很容易! – 2017-12-31 09:23:07

2

添加以下关键to info.plist:

“状态栏最初隐藏”并选择“是”作为值。

+0

不,我想把它提起来,而不是永远隐藏它。我该怎么做? – 2012-08-08 15:16:51

+0

@SergiusGee请参阅上面的我的回答。 – 2013-10-01 14:34:21

14

开始,您可以在Info.plist文件中添加此项:status bar is initially hidden=YES

然后在应用程序委托,加入这一行的application:didFinishLaunchingWithOptions:方法:

[[UIApplication sharedApplication] setStatusBarHidden:NO]; 
+2

不起作用。状态栏与视图重叠。 – 2013-04-27 03:27:20

4

返回回:

- (void)applicationDidFinishLaunching:(UIApplication *)application { 
    // Override point for customization after app launch 

    [[UIApplication sharedApplication] setStatusBarHidden:NO]; 
}