如何在Swift中创建单页垂直滚动PDFView

时间:2018-03-27 08:47:19

标签: swift pdfview

我正在尝试使用以下代码进行垂直滚动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.displayDirection = .vertical
        pdfView.usePageViewController(true, withViewOptions: nil)
        pdfView.document = document
    }
}

self.view.addSubview(pdfView)

显示正常,但displayDirection是水平的,而不是垂直的。我正在尝试找到一种方法来设置withViewOptions,但I can't find相关信息。

我检查了SO,许多人建议添加displayDirection,但这看不会改变任何内容。

另一方面,当我尝试运行以下代码时:

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 = .vertical
        pdfView.displayMode = .singlePage
        pdfView.document = document
    }
}

self.view.addSubview(pdfView)

它只显示第一页而不滚动。我需要添加滑动手势识别器,滚动不顺畅。除此之外,单页滚动功能似乎有点过分......

我错过了什么吗?任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

尝试pdfView.displayMode = .singlePageContinuous

答案 1 :(得分:0)

您唯一需要做的就是使用import {NgxPaginationModule} from 'ngx-pagination'; @NgModule({ imports: [ NgxPaginationModule ] }) 中的以下方法:

PDFView

PDFView-PageViewController