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