【发布时间】:2016-02-12 02:13:40
【问题描述】:
这是一个热门问题,但我找不到任何适用于 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 上播放全屏视频时是否可以让屏幕旋转?
【问题讨论】:
标签: ios swift swift2 screen-orientation