注意:在iOS 8中,状态栏会自动隐藏在横向中并以纵向显示(仅限iPhone)。
要在我的应用中显示视频,我使用的是XCDYouTubeKit,它是MPMoviePlayerViewController上的一个轻量级包装。
我必须设置"查看基于控制器的状态栏外观"在info.plist文件中"否"在我的应用程序中由于某些功能。该应用程序工作正常,直到你不使用XCDYouTubeKit(MPMoviePlayerViewController)。使用XCDYouTubeKit后,该应用程序将失去"注意"中指定的功能。上面表示状态栏也开始显示在横向中。
您可以在此处下载演示项目。
https://www.dropbox.com/s/yp5pkvf9evsl8wb/XCDYouTubeKit%20Demo.zip?dl=0
要体验这一点,您需要按照XCDYouTubeKit演示中的以下步骤进行操作:
请帮助!!!
答案 0 :(得分:2)
我无法找到原始问题的解决方案。但我设法实现了最终目标,即状态栏停止显示(iOS 8&& iPhone)。
然后我必须将以下代码放在所有独立的视图控制器中:
-(UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
对于UINavigationController
中包含的那些视图控制器,我从以下问题中获取了参考:
答案 1 :(得分:2)
请注意,苛刻,你可以(有争议!)只使用一个类别!
仅适用于整个应用。我们在大批量生产应用程序(在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
3)你的plist中不将“状态栏最初隐藏”设置为“YES”。
4)不改变UIViewControllerBasedStatusBarAppearance。
延长discussion。