Воспроизвести видео с YouTube в UIWebView в альбомной ориентации, а ViewController - в книжной ориентации - PullRequest
2 голосов
/ 04 июня 2011

Я занимаюсь разработкой приложения для iPhone, которое должно воспроизводить видео на YouTube.

У меня ViewController в книжной ориентации только с UIWebView, который загружает видео YouTube.

Я пытаюсь сделать так, чтобы видео можно было воспроизводить в альбомной ориентации.

Звучит довольно просто, но я не могу понять, как это сделать. Может ли кто-нибудь помочь мне?

Спасибо!

Ответы [ 3 ]

1 голос
/ 11 октября 2016

Это идет в AppDelegate. Включит горизонтальный режим только для видеоплееров

func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {

    if let presentedViewController = window?.rootViewController?.presentedViewController {

        let className = String(describing: type(of: presentedViewController))
        if ["MPInlineVideoFullscreenViewController", "MPMoviePlayerViewController", "AVFullScreenViewController"].contains(className)
        {
            return UIInterfaceOrientationMask.allButUpsideDown
        }

    }
    return UIInterfaceOrientationMask.portrait
}
0 голосов
/ 04 июня 2011

Я нашел ответ.

1) Я добавляю этот код в свой viewController.m

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

2) В конструкторе интерфейсов я строю свой интерфейс в альбомной ориентации, с каждым отдельным элементомповернут на 90 °.

Когда я строю и запускаю, вид, кажется, находится в портретном режиме, когда он на самом деле пейзаж.Поэтому видео YouTube, встроенное в UIWebView, воспроизводится в альбомной ориентации.

0 голосов
/ 04 июня 2011

В настоящее время невозможно запустить воспроизведение видео YouTube программным способом. Тем не менее, вы можете сделать UIWebview в willRotateToInterfaceOrientation ViewController: duration: проверка горизонтальной ориентации и отображение веб-просмотра с кодом, который показывает миниатюру видео. Но пользователю все равно придется активировать вид. Чтобы удалить видео, вы делаете это тем же способом, но для портретной ориентации и удаления веб-просмотра.

...