Change to stop recycling the article view controller when switching panel modes on the iPad. Issue #1570

This commit is contained in:
Maurice Parker
2020-01-21 11:05:47 -07:00
parent ed355ad614
commit deab8f8c6c
4 changed files with 47 additions and 28 deletions

View File

@@ -53,6 +53,7 @@ class ArticleViewController: UIViewController {
updateUI()
}
}
var restoreWindowScrollY = 0
private let keyboardManager = KeyboardManager(type: .detail)
override var keyCommands: [UIKeyCommand]? {
@@ -92,6 +93,7 @@ class ArticleViewController: UIViewController {
])
let controller = createWebViewController(article)
controller.restoreWindowScrollY = restoreWindowScrollY
articleExtractorButton.buttonState = controller.articleExtractorButtonState
pageViewController.setViewControllers([controller], direction: .forward, animated: false, completion: nil)
@@ -246,6 +248,13 @@ class ArticleViewController: UIViewController {
// MARK: WebViewControllerDelegate
extension ArticleViewController: WebViewControllerDelegate {
func webViewController(_ webViewController: WebViewController, restoreWindowScrollYDidUpdate restoreWindowScrollY: Int) {
if webViewController === currentWebViewController {
self.restoreWindowScrollY = restoreWindowScrollY
}
}
func webViewController(_ webViewController: WebViewController, articleExtractorButtonStateDidUpdate buttonState: ArticleExtractorButtonState) {
if webViewController === currentWebViewController {
articleExtractorButton.buttonState = buttonState