备注:在iOS 8中,状态栏自动隐藏在景观中,并返回到纵向(仅iPhone)。
为了在我的应用程序中显示视频,我使用了XCDYouTubeKit,这是MPMoviePlayerViewController上的一个轻型包装。
由于某些功能,我不得不在我的应用程序中将info.plist文件中的“基于视图控制器的状态栏外观”设置为"NO“。在不使用XCDYouTubeKit(MPMoviePlayerViewController)之前,这个应用程序可以正常工作。在使用XCDYouTubeKit之后,应用程序失去了上面“注意”中指定的功能,这意味着状态栏也开始显示在景观中。
您可以在这里下载演示项目。
https://www.dropbox.com/s/yp5pkvf9evsl8wb/XCDYouTubeKit%20Demo.zip?dl=0
要体验这种情况,您需要在XCDYouTubeKit演示中遵循以下步骤:
救命啊!
发布于 2015-05-07 20:03:04
请注意,苛刻,您可以(争议!)只是使用一个类别的!
整个应用程序只有一次,。我们在高容量的生产应用中(在objective时代)做他的每一次都没有问题,而且我经常在大容量的客户端项目中看到它。..。所以..。
1)创建一个名为UIViewController+HideStatusBar的类别
@interface UIViewController (HideStatusBar)
@end
// the only practical approach for no-statusbar in iOS7,8+
@implementation UIViewController (HideStatusBar)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
-(BOOL)prefersStatusBarHidden {return YES;}
-(UIViewController *)childViewControllerForStatusBarHidden {return nil;}
#pragma clang diagnostic pop
@end2)在您的plist中添加
<key>UIStatusBarHidden~ipad</key>
<true/>
// that is needed if you're covering iPad; do it always for consistency3)做而不是 set“状态栏最初隐藏”到“是”在您的plist中。
4)做而不是 alter UIViewControllerBasedStatusBarAppearance。
扩展discussion.
发布于 2014-10-02 23:52:23
我找不到原来问题的解决办法。但我成功地实现了最终目标,即状态栏不再显示在景观中(iOS 8 && iPhone)。
对于那些包含在UINavigationController中的视图控制器,我引用了以下问题:
https://stackoverflow.com/questions/26167038
复制相似问题