ios - 从 webView 返回后 PDF 无法加载

标签 ios swift pdf webview

我目前正在使用 webView 显示 pdf。在此 pdf 中,我有指向其他网站的超链接。

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

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

那么对于这里可能出现的问题以及如何修复它有什么建议吗?

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

pdf

最佳答案

我找到的解决方案是在委托(delegate)方法中再次显示 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)
  }
}

在委托(delegate)方法中:

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

关于ios - 从 webView 返回后 PDF 无法加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46234747/

相关文章:

swift - 调度到 Swift 协议(protocol)扩展

swift - 访问 Controller View 中的复选框 (NSButton)

javascript - 是否有可以将 JavaScript 插入现有 PDF 文件的 Ruby gem?

c# - 如何使用 iTextsharp 将文件插入到现有 PDF 文件夹的文件夹中

iphone - 如何在 iOS 中读取音频文件并获取样本?

IOS - 是否可以在绘制之前计算 TextView 高度

ios - 如何在 Swift 中执行数组切片?

swift - RxBluetoothKit 文档?

c# - 使用 iTextSharp 填充单选按钮组

iphone - 获取名称以001XXX.jpg开头的所有资源