Xcode 6.x / iOS 8隐藏了横向方向的状态栏

使用Xcode 6.x构建的应用程序会自动隐藏横向(iPhone)中的状态栏。 使用Xcode 5.x编译时,相同的应用程序不会这样做。

如何防止应用程序将状态栏隐藏在横向方向? 基本上,我怎样才能禁用Apple / Xcode推到我喉咙的这个“超级棒”function?

ps我尝试使用以下代码更新视图控制器,但它没有帮助。

- (BOOL)prefersStatusBarHidden { return NO; } 

最好的解决方案

这基本上是一个两步过程:

1)。 在项目的Info.plist文件中将“查看基于控制器的状态栏外观”设置为NO

2)。 在application:didFinishLaunchingWithOptions: ,使用以下代码强制状态栏隐藏状态为NO

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

瞧,瞧!

注意:使用上面的setStatusBarHidden:withAnimation:语句来强制状态栏隐藏状态非常重要。


参考: 在iOS8上,以横向模式显示我的应用程序将隐藏状态栏,但在iOS 7上,状态栏显示在两个方向上

我在用着

 #define IS_IOS8 SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0") -(void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{ [super willAnimateRotationToInterfaceOrientation:toInterfaceOrientation duration:duration]; if (IS_IOS8){ [[UIApplication sharedApplication] setStatusBarHidden:NO]; } } 

Info.plist中将“查看基于控制器的状态栏外观”设置为YES

然后将以下代码放在所需的视图控制器中:

 - (BOOL)prefersStatusBarHidden { return NO; }