diff --git a/iOS/Article/ArticleViewController.swift b/iOS/Article/ArticleViewController.swift index fa245f521..e6fd7af8f 100644 --- a/iOS/Article/ArticleViewController.swift +++ b/iOS/Article/ArticleViewController.swift @@ -317,8 +317,11 @@ extension ArticleViewController: UIPageViewControllerDelegate { func pageViewController(_ pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [UIViewController], transitionCompleted completed: Bool) { guard finished, completed else { return } guard let article = currentWebViewController?.article else { return } + coordinator.selectArticle(article, animations: [.select, .scroll, .navigation]) articleExtractorButton.buttonState = currentWebViewController?.articleExtractorButtonState ?? .off + + previousViewControllers.compactMap({ $0 as? WebViewController }).forEach({ $0.stopWebViewActivity() }) } } diff --git a/iOS/Article/WebViewController.swift b/iOS/Article/WebViewController.swift index 4af696979..b99f287c3 100644 --- a/iOS/Article/WebViewController.swift +++ b/iOS/Article/WebViewController.swift @@ -92,14 +92,6 @@ class WebViewController: UIViewController { } - override func viewWillDisappear(_ animated: Bool) { - super.viewWillDisappear(animated) - if let webView = webView { - stopMediaPlayback(webView) - cancelImageLoad(webView) - } - } - // MARK: Notifications @objc func webFeedIconDidBecomeAvailable(_ note: Notification) { @@ -216,6 +208,13 @@ class WebViewController: UIViewController { stopArticleExtractor() } } + + func stopWebViewActivity() { + if let webView = webView { + stopMediaPlayback(webView) + cancelImageLoad(webView) + } + } func showActivityDialog(popOverBarButtonItem: UIBarButtonItem? = nil) { guard let preferredLink = article?.preferredLink, let url = URL(string: preferredLink) else {