Iphone MPMoviePlayerViewController状态栏问题特定于iOS 8
注意:在iOS 8中,状态栏自动隐藏在横向中,并以纵向显示(仅限iPhone) 为了在我的应用程序中显示视频,我使用了XCDYouTubeKit,它是MPMoviePlayerViewController上的一个轻型包装器 由于某些功能,我不得不在info.plist文件中将“基于视图控制器的状态栏外观”设置为“否”。在你不使用XCDYouTubeKit(MPMoviePlayerViewController)之前,该应用程序工作正常。使用XCDYouTubeKit后,应用程序将失去上面“注意”中指定的功能,这意味着状态栏也将开始显示在横向视图中 您可以在这里下载演示项目 要体验这一点,您需要在XCDYouTubeKit演示中遵循以下步骤:Iphone MPMoviePlayerViewController状态栏问题特定于iOS 8,iphone,ios8,orientation,mpmovieplayercontroller,statusbar,Iphone,Ios8,Orientation,Mpmovieplayercontroller,Statusbar,注意:在iOS 8中,状态栏自动隐藏在横向中,并以纵向显示(仅限iPhone) 为了在我的应用程序中显示视频,我使用了XCDYouTubeKit,它是MPMoviePlayerViewController上的一个轻型包装器 由于某些功能,我不得不在info.plist文件中将“基于视图控制器的状态栏外观”设置为“否”。在你不使用XCDYouTubeKit(MPMoviePlayerViewController)之前,该应用程序工作正常。使用XCDYouTubeKit后,应用程序将失去上面“注意”
请帮忙 我找不到原始问题的解决方案。但我成功地实现了最终目标,即状态栏不再在(iOS 8和iPhone)中显示
-(UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
UINavigationController
中包含的视图控制器,我参考了以下问题:
也请注意,苛刻的是,你可以(有争议的!)只需使用一个类别即可
仅对整个应用程序执行一次。我们每次都在大批量生产应用程序中(在objective-c时代)毫无问题地完成他的工作,我经常在大批量客户端项目中看到。。。所以
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
@end
2) 在你的plist中添加
<key>UIStatusBarHidden~ipad</key>
<true/>
// that is needed if you're covering iPad; do it always for consistency
UIStatusBarHidden~ipad
//如果你在报道iPad,这是必要的;始终保持一致性
3) 不要在plist中将“状态栏最初隐藏”设置为“是”
4) 不要改变UIViewControllerBasedStatusBarAppearance
延长。谢谢@JoeBlow我完全同意你的评论。它的效率很高。请把它作为答案贴出来。我会选择它。