切换标签时WKWebview PDF问题

时间:2019-09-19 07:06:05

标签: ios swift wkwebview

当我切换视图中的选项卡时,我已经在WKWebview中加载了PDF文件,然后回到WKWebview之后,PDF没有显示出带有页码的黑色,但是PDF的内容却没有显示。

注意:是否可以不重新加载整个屏幕? (我需要一种更好的方法来解决此问题)

这是整个演示(有人已经制作了)

https://github.com/aliabbas90/wkwebviewPDF

Here is the video

2 个答案:

答案 0 :(得分:0)

如果在显示视图时将以下代码行添加到viewWillAppear中,请为您加载pdf内容。

if let pdfURL = pdfURLS  {
   self.webView.loadFileURL(pdfURL, 
                            allowingReadAccessTo: pdfURL.deletingLastPathComponent())
}

我认为这可以解决您的问题。

答案 1 :(得分:0)

我有类似的问题。从iOS 12开始(甚至在iOS 13中),它似乎在WKWebView中已损坏。因此,您可以在viewWillAppear中重新加载数据,也可以使用 PDFKit的PDFView 呈现pdf。

但是它适用于iOS 11及更高版本。如果您的应用支持iOS 10或更低版本,请同时使用两者,因为webview可以在iOS 11或更低版本上正常运行。

只是示例代码

if #available(iOS 11.0, *) {
            if let pdfDocument = PDFDocument(data: pdfData),
                let pdfView = self.view as? PDFView {
                pdfView.document = pdfDocument
                pdfView.displayMode = .singlePageContinuous
                pdfView.autoScales = true
                pdfView.maxScaleFactor = 4.0
                pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
            }
        } else {
            // load using WKWebView
        }

对于上述代码,只需在情节提要中将视图设为PDFView而不是UIView或自定义PDFView