在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题

Posted

技术标签:

【中文标题】在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题【英文标题】:Issue of status bar which is getting hidden in landscape mode in ios 8 and works fine in ios 7 tried after release of ios 8 in xCode 6 【发布时间】:2014-11-09 23:00:57 【问题描述】:

我遇到了一个问题,当模拟器在 ios 8 中以横向模式旋转时隐藏状态栏,而它在 iOS 7 模拟器中工作正常。

我应该怎么做才能解决这个问题?

【问题讨论】:

接受的这个问题的答案解决了这个问题:***.com/questions/24329503/… 【参考方案1】:

这是 iOS 8 中的新默认设置。但您可以通过覆盖 UIViewController 中的以下内容来恢复旧行为:

- (BOOL)prefersStatusBarHidden 
    return NO;

【讨论】:

【参考方案2】:

以下简单的解决方案在iOS 8 中对我非常有效,没有任何问题。

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 

     [coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context)
      
         [[UIApplication sharedApplication] setStatusBarHidden:NO];

       completion:^(id<UIViewControllerTransitionCoordinatorContext> context)
      

      ];

     [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; 

【讨论】:

也适用于 iOS 10。【参考方案3】:

这不是问题,而是 IOS 8 的一个特性。状态栏在 IOS 8 中以横向模式隐藏

【讨论】:

你是对的,即使是苹果应用也有同样的行为。 并非所有 Apple 应用程序/组件的状态栏都隐藏在横向中。 AVVideoPlayer 就是一个例子。

以上是关于在 ios 8 中以横向模式隐藏并在 xCode 6 中发布 ios 8 后尝试在 ios 7 中正常工作的状态栏问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xcode 故事板中以横向模式显示场景?

横向应用 Xcode 5 / iOS 7

最初在 ios sdk 中以横向模式打开视图控制器

CSS 位置问题:在 iOS 9 iPhone 6+ 中以横向模式修复

在没有 NSNotificationCenter 的情况下,在 iOS 8 中正确强制或允许 Youtube 嵌入视频的横向模式

如何在 iPhone sdk 中以 LandScape 模式启动启动画面