Остановить видео в UIWebView - PullRequest
       1

Остановить видео в UIWebView

12 голосов
/ 12 августа 2011

В моем приложении для iPad у меня есть модальное представление (UIViewController с модальным стилем представления UIModalPresentationPageSheet)

Внутри представления находится UIWebView с HTML-страницей и встроенным YouTube-Video. Если я запускаю видео и закрываю вид, видео не останавливается. Звук продолжается, и вы можете увидеть маленький значок воспроизведения рядом со значком аккумулятора в строке состояния.

Как я могу остановить видео?

Ответы [ 5 ]

36 голосов
/ 12 августа 2011

Интегрируйте следующий код для решения проблемы.

    -(void)viewWillDisappear:(BOOL)animated
    {
        [webView loadHTMLString:nil baseURL:nil];
    }
16 голосов
/ 07 мая 2013

Также вы можете попробовать приостановить видео:

NSString *script = @"var videos = document.querySelectorAll(\"video\"); for (var i = videos.length - 1; i >= 0; i--) { videos[i].pause(); };";
[webView stringByEvaluatingJavaScriptFromString:script];
2 голосов
/ 07 июля 2017

Свифт 4

//  Halt anything in progress
(contentViewController as! WebViewController).webView.loadHTMLString("Yoink://", baseURL: nil)

необходимо в методе windowController windowShouldClose () при закрытии окна

2 голосов
/ 24 июня 2016

В Swift метод:

override public func viewDidDisappear(animated: Bool) {
    super.viewDidAppear(animated)
    self.webView.loadHTMLString("", baseURL: nil)
}

спасибо @ alloc_iNit

0 голосов
/ 18 мая 2017

Я видел много предложений по загрузке пустой страницы.Это действительно плохой подход.

Это приведет к тому, что ваше веб-представление будет пустым, если, скажем, вы добавите другой вид поверх него.

Самое простое решение - перезагрузить представление с помощью:

Swift

webView.reload()

Obj-C

[webView reload]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...