从webView

时间:2017-09-15 08:08:54

标签: ios swift pdf webview

我目前正在使用webView显示pdf。在这个pdf中,我有到其他网站的超链接。

问题在于,当我访问其中一个网站并在那里滚动一点时,当我点击后退按钮(调用webView.goBack())时,它会返回到pdf,跳到顶部,不能再滚动它了,除了第一页之外看不到任何东西,所以也可能无法正确加载它。

此外,如果我这样做,请访问该网站,但不要在那里滚动,或者根本不做任何事情。如果我单击后退按钮,它会将我带回到pdf并且工作正常。

那么有关这里可能出现什么问题以及如何解决问题的建议?

编辑:我还添加了一张图片,向您展示它的外观

pdf

1 个答案:

答案 0 :(得分:0)

我找到的解决方案是在委托方法中再次显示pdf时重新加载webView

点击导航栏后退按钮时:

fileprivate var shouldReloadWebView: Bool = false

@objc private func tappedBackButton(_ button: UIButton) {
  if webView.canGoBack {
    shouldReloadWebView = true
    webView.goBack()
  } else {
    self.navigationController!.popViewController(animated: true)
  }
}

在委托方法中:

func webViewDidFinishLoad(_ webView: UIWebView) {
  if shouldReloadWebView {
    shouldReloadWebView = false
    webView.reload()
  }
}