首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MPMoviePlayerViewController状态栏发出iOS 8特定

MPMoviePlayerViewController状态栏发出iOS 8特定
EN

Stack Overflow用户
提问于 2014-10-02 18:18:34
回答 2查看 1.1K关注 0票数 2

备注:在iOS 8中,状态栏自动隐藏在景观中,并返回到纵向(仅iPhone)。

为了在我的应用程序中显示视频,我使用了XCDYouTubeKit,这是MPMoviePlayerViewController上的一个轻型包装。

由于某些功能,我不得不在我的应用程序中将info.plist文件中的“基于视图控制器的状态栏外观”设置为"NO“。在不使用XCDYouTubeKit(MPMoviePlayerViewController)之前,这个应用程序可以正常工作。在使用XCDYouTubeKit之后,应用程序失去了上面“注意”中指定的功能,这意味着状态栏也开始显示在景观中。

您可以在这里下载演示项目。

https://www.dropbox.com/s/yp5pkvf9evsl8wb/XCDYouTubeKit%20Demo.zip?dl=0

要体验这种情况,您需要在XCDYouTubeKit演示中遵循以下步骤:

  1. 将info.plist文件中的“查看基于控制器的状态栏外观”设置为“否”。
  2. 打开iOS 8中的应用程序,转到“全屏播放器”。
  3. 改变方向,以肖像为景观或反过来。您将看到状态栏隐藏在景观中,而不是在肖像中。
  4. 现在点击“播放全屏”按钮(肖像模式),让视图控制器出现。
  5. 按下“完成”按钮(不管方向如何)将视频解说。
  6. 改变方向,以肖像为景观或反过来。您将看到状态栏始终保持在那里,而不管设备的方向如何。

救命啊!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-07 20:03:04

请注意,苛刻,您可以(争议!)只是使用一个类别的

整个应用程序只有一次。我们在高容量的生产应用中(在objective时代)做他的每一次都没有问题,而且我经常在大容量的客户端项目中看到它。..。所以..。

1)创建一个名为UIViewController+HideStatusBar的类别

代码语言:javascript
复制
@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
@end

2)在您的plist中添加

代码语言:javascript
复制
<key>UIStatusBarHidden~ipad</key>
<true/>
// that is needed if you're covering iPad; do it always for consistency

3)做而不是 set“状态栏最初隐藏”到“是”在您的plist中。

4)做而不是 alter UIViewControllerBasedStatusBarAppearance。

扩展discussion.

票数 2
EN

Stack Overflow用户

发布于 2014-10-02 23:52:23

我找不到原来问题的解决办法。但我成功地实现了最终目标,即状态栏不再显示在景观中(iOS 8 && iPhone)。

  1. 我将“基于视图控制器的状态栏外观”设置为“NO”,因为我必须在整个应用程序中设置状态样式light
  2. 但由于设置“基于视图控制器的状态栏外观”是导致主要问题,我删除了它,这导致状态栏黑色的应用程序,但解决了主要问题。
  3. 然后,我必须将以下代码放入所有独立的视图控制器中: -(UIStatusBarStyle)preferredStatusBarStyle {返回UIStatusBarStyleLightContent;}

对于那些包含在UINavigationController中的视图控制器,我引用了以下问题:

preferredStatusBarStyle isn't called

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26167038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档