2017-09-15 13 views
0

現在webViewを使用してPDFを表示しています。このpdfには他のウェブサイトへのハイパーリンクがあります。webViewからgoBackの後にPDFが読み込まれない

問題は、私がこれらのWebサイトのいずれかに行って少しスクロールしたときに、戻るボタン(それはwebView.goBack()を呼び出します)をクリックすると、pdfに戻り、先頭にジャンプし、もうスクロールして、最初のページ以外のものを見ることはできません。

また、私が同じことをしたら、そのウェブサイトに行きますが、まったくスクロールしたり、まったく何もしないでください。戻るボタンをクリックすると、pdfに戻ってきて、完璧に動作します。

ここで何が間違っているのか、どのように修正するのかに関するご意見はありますか?

編集:私はまた、

pdf

+0

webViewでuserInteractionとスクロールが有効になっていますか? – Malik

+0

はい、有効にしています。ハイパーリンクをタップする前に完全に動作します – razvan

答えて

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() 
    } 
} 
関連する問題