当我切换视图中的选项卡时,我已经在WKWebview中加载了PDF文件,然后回到WKWebview之后,PDF没有显示出带有页码的黑色,但是PDF的内容却没有显示。
注意:是否可以不重新加载整个屏幕? (我需要一种更好的方法来解决此问题)
这是整个演示(有人已经制作了)
答案 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