![](/img/trans.png)
[英]How to know when user swipes to next page in PDFView of PDFKit?
[英]PDFKit - PDFView using pageViewController - page rendering slow when swiping to next page
我有一個設置為使用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: [:])
每當我滑動到下一頁時,都會說下一頁模糊了半秒,然后才清晰呈現。 真煩人。 我可以以某種方式預加載頁面嗎? 我在文檔中找不到任何屬性/方法。
(有趣的是,當我處於全屏模式時, MacOS
上的Preview
會出現完全相同的問題(從此以后,我擁有的每台Mac上都會出現此問題))
它不依賴於pdf(文件)大小。 我嘗試的每個PDF都會出現問題。
謝謝你的幫助
請確保也根據您的要求添加.maxScaleFactor .minScaleFactor的值,並查看加載時間是否有所不同。 例如
.maxScaleFactor = 4.0;
.minScaleFactor = self.scaleFactorForSizeToFit;
我認為這是由於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)
它的行為是否有所不同? 我注意到,對於大型PDF文檔, usePageViewController
選項可以usePageViewController
加載文檔。 實施時要考慮的事項。
我希望這有幫助
您是否嘗試更改了interpolationQuality選項?
繪制到PDFView上下文中的圖像的插值質量。
可能的值為
也許您可以嘗試類似
pdfView.interpolationQuality = .low
要么
pdfView.interpolationQuality = .none
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.