我目前正在使用webView显示pdf。在这个pdf中,我有到其他网站的超链接。
问题在于,当我访问其中一个网站并在那里滚动一点时,当我点击后退按钮(调用webView.goBack()
)时,它会返回到pdf,跳到顶部,不能再滚动它了,除了第一页之外看不到任何东西,所以也可能无法正确加载它。
此外,如果我这样做,请访问该网站,但不要在那里滚动,或者根本不做任何事情。如果我单击后退按钮,它会将我带回到pdf并且工作正常。
那么有关这里可能出现什么问题以及如何解决问题的建议?
编辑:我还添加了一张图片,向您展示它的外观
答案 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()
}
}