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

时间:2014-10-21 12:50:12

标签: ios iphone xcode6

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

如何阻止应用程序将状态栏隐藏在横向方向?基本上,我怎么能禁用这个"超级棒的" Apple / Xcode的特点是我的喉咙被推倒了?

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

- (BOOL)prefersStatusBarHidden {
    return NO;
}

3 个答案:

答案 0 :(得分:17)

最佳解决方案

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

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

2)。使用以下代码将状态栏隐藏状态强制设置为NO中的application:didFinishLaunchingWithOptions:

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

而且,瞧!

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


参考:On iOS8, displaying my app in landscape mode will hide the status bar but on iOS 7 the status bar is displayed on both orientations

答案 1 :(得分:1)

我正在使用

#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];
    }
}

答案 2 :(得分:0)

Info.plist

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

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

- (BOOL)prefersStatusBarHidden {
    return NO;
}