这是一个常见问题,但我无法找到适用于Swift 2的任何解决方案。
该应用程序仅支持竖屏。但是,在观看全屏视频(例如YouTube)时,用户应该能够旋转至横屏。
在Objective-C中,这是最简单的解决方案,我使用了很长一段时间:
AppDelegate file:
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS7 = @"MPInlineVideoFullscreenViewController";
static NSString * const VIDEO_CONTROLLER_CLASS_NAME_IOS8 = @"AVFullScreenViewController";
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
if ([[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS7)] ||
[[window.rootViewController presentedViewController] isKindOfClass:NSClassFromString(VIDEO_CONTROLLER_CLASS_NAME_IOS8)]) {
return UIInterfaceOrientationMaskAllButUpsideDown;
} else {
return UIInterfaceOrientationMaskPortrait;
}
}
当视频全屏时,这允许所有方向。否则,仅限纵向。
但我在Swift上很难做到这一点。是否可能在Swift上播放全屏视频时旋转屏幕?