Это популярный вопрос, но я не мог найти решение, которое работало на Swift 2.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-не вращается, но отлично работаю на прошивке 9. Спасибо! – tomDev
Чтобы убедиться, что приложение вернется к портрету, лучше использовать «supportedInterfaceOrientations» вместо «supportedInterfaceOrientationsForWindow». Таким образом, когда видео отключено, ориентация автоматически вернется к портрету. – tomDev
Спасибо, это было побочным продуктом спешки и использования автозаполнения ... Рад, что вы его работали. – JAL