Qua*_*ntm 8 performance pdfkit ios swift
我有一个设置为使用pageViewController的PDFView:
let pdfView = PDFView()
let pdfDoc = PDFDocument(url: Bundle.main.url(forResource: "test", withExtension: "pdf")!)
pdfView.document = pdfDoc
pdfView.autoScales = true
pdfView.displayDirection = .horizontal
pdfView.usePageViewController(true, withViewOptions: [:])
Run Code Online (Sandbox Code Playgroud)
每当我滑动到下一页时,下一页在模糊渲染之前会模糊半秒.这很烦人.我可以以某种方式预加载页面吗?我没有在文档中找到任何属性/方法.
(有趣的是,我有相同的问题Preview上MacOS时,它在全屏模式[永远以来,在所有Mac我自己])
它不依赖于pdf(文件)大小.每次尝试的pdf都会出现问题.
谢谢你的帮助
我认为这是由于 PDF 的高分辨率以及 PDFView 渲染 PDF 的方式造成的。您有关于 PDF 的更多信息吗?
您可以尝试使用图像较少的 PDF 吗?它应该渲染得很好。如果是这样,则不是您的代码有问题,而是显示并将其呈现到视图所需的资源有问题。
更新
您可以尝试在没有 PageViewController 的情况下使用 PDFView 并查看它的行为。你可以这样做:
pdfView = PDFView(frame: view.frame)
pdfView.backgroundColor = UIColor.white
var documentName: String = "test"
if let documentURL = Bundle.main.url(forResource: documentName, withExtension: "pdf") {
if let document = PDFDocument(url: documentURL) {
pdfView.autoScales = true
pdfView.displayDirection = .horizontal
pdfView.displayMode = .singlePageContinuous
pdfView.document = document
}
}
self.view.addSubview(pdfView)
Run Code Online (Sandbox Code Playgroud)
它的行为有什么不同吗?我注意到该选项usePageViewController对于大型 PDF 文档加载速度更快。实施时需要考虑的事项。
我希望这有帮助