我目前正在使用 webView 显示 pdf。在此 pdf 中,我有指向其他网站的超链接。
问题是,当我转到其中一个网站并在那里滚动一点时,当我单击后退按钮(调用 webView.goBack()
)时,它会返回到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/