2013-08-30 117 views
12

我越来越沮丧!状态栏仍显示

我已经尝试每一个生活在可能我的应用程序的顶部摆脱UIStatusBar的...

我曾尝试:

  • 在IB

    设置状态栏为“无”
  • 运行[[UIApplication sharedApplication] setStatusBarHidden:YES];在应用程序启动和在每个场景。

  • 要去的.plist和更改启动时隐藏状态栏值:YES

  • 设置的主页上相同的数值目标

  • 在应用程序委托

    设置- (BOOL)prefersStatusBarHidden { return YES; }

字面上没有该作品......它仍然显示了所有的我的意见,这是令人沮丧的SUPER

再次感谢:)

附注:我在Xcode 5,开发者测试版的iOS 7测试版6,但是这也发生在我的旧iOS6的和Xcode的4个应用

+0

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationFade];从http://stackoverflow.com/questions/5709123/ios-4-3-hide-status-bar-permanently \ – iPatel

+0

如果你看到我的帖子,我已经尝试过,但谢谢你的建议:) – tyler53

+0

你可以还要添加“查看基于控制器的状态栏外观”,并将其设置为“NO”,如下所示: http:// stackoverflow。com/questions/17763719/status-bar-wont-disappear – jsherk

回答

20

请试试这个

//viewDidload 
if ([self respondsToSelector:@selector(setNeedsStatusBarAppearanceUpdate)]) { 
    // iOS 7 
    [self prefersStatusBarHidden]; 
    [self performSelector:@selector(setNeedsStatusBarAppearanceUpdate)]; 
} else { 
    // iOS 6 
    [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationSlide]; 
} 


// Add this Method 
- (BOOL)prefersStatusBarHidden 
{ 
return YES; 
} 

该代码已采取从this link

+0

是每个类中的bool方法,或者appdelegate – tyler53

+0

在你的rootViewController中实现此方法,在rootViewController中实现它是全局的 –

+0

我没有根视图控制器,我有应用程序委托,然后是我的一个视图的视图控制器,但这是一个SKSprite项目,所以它没有填充根视图控制器 – tyler53

4

你需要一个方法添加到视图控制器,和而不是写入应用程序委托。

- (BOOL)prefersStatusBarHidden 
{ 
    return YES; 
} 
+0

谢谢,适合我。 – 2014-01-06 11:50:20

15

我通常做的是将两个键值属性添加到Info.plist文件。

enter image description here

属性的源代码是:

enter image description here

+2

每个人都没有强调的一件事是“基于视图控制器的状态栏外观”是一个BOOLEAN值。 矿被设置为字符串,我几乎撕毁我的头发。 – n00bProgrammer

+2

你真的应该避免禁用基于视图控制器的状态栏外观。这只是一个兼容性选项,当开发人员没有时间或无法实现新的方式时,可以使旧应用程序在iOS 7下工作。 – lhunath

2

至于什么发生在我!

为别人,, Make sure you are modifying the info.plist in the right *TARGET* :/

加上公认的答案。