From e3b32847f9343e822252cd1d9b37ffcf9f738c43 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Tue, 18 Feb 2020 09:49:54 -0800 Subject: [PATCH] Stop image zooming on swipes and video playback on button presses. Issue #1801 --- iOS/Article/WebViewController.swift | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/iOS/Article/WebViewController.swift b/iOS/Article/WebViewController.swift index 363cc3272..4af696979 100644 --- a/iOS/Article/WebViewController.swift +++ b/iOS/Article/WebViewController.swift @@ -94,7 +94,10 @@ class WebViewController: UIViewController { override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) - stopMediaPlayback() + if let webView = webView { + stopMediaPlayback(webView) + cancelImageLoad(webView) + } } // MARK: Notifications @@ -450,8 +453,9 @@ private extension WebViewController { guard let webView = webView else { return } webView.removeFromSuperview() - webView.evaluateJavaScript("cancelImageLoad();") - + stopMediaPlayback(webView) + cancelImageLoad(webView) + webView.navigationDelegate = nil webView.uiDelegate = nil webView.scrollView.delegate = nil @@ -559,10 +563,14 @@ private extension WebViewController { } } - func stopMediaPlayback() { - webView?.evaluateJavaScript("stopMediaPlayback();") + func stopMediaPlayback(_ webView: WKWebView) { + webView.evaluateJavaScript("stopMediaPlayback();") } - + + func cancelImageLoad(_ webView: WKWebView) { + webView.evaluateJavaScript("cancelImageLoad();") + } + func configureTopShowBarsView() { topShowBarsView = UIView() topShowBarsView.backgroundColor = .clear