1

我有一个应用程序,它拍摄文档的照片,然后在新的 UIViewController 中的 PDFView 中呈现为 pdf。我遇到的问题是,当呈现 pdf 文档时,它有些放大,默认情况下 PDFView 不显示文档的完整轮廓。我该如何做到这一点?

class ShowPDFViewController: UIViewController{

@IBOutlet weak var pdfPreview: PDFView!
var pdfDocument: PDFDocument!


    override func viewDidLoad() {
        super.viewDidLoad()

        // PRESENT PDF DOCUMENT JUST CREATED
        pdfPreview.document = pdfDocument
        pdfPreview.autoScales = true

    }
}

这是 pdf 文档当前默认呈现的方式 - 通常是缩放的:

在此处输入图像描述

这就是我希望文档默认呈现的方式 - 文档的完整大纲参见:

在此处输入图像描述

4

3 回答 3

2

我通过以下方式从代码创建视图并且它可以工作(左侧和右侧与超级视图左右对齐,并且高度缩放以适合)

var pdfView = PDFView(frame: view.frame)
pdfView.document = PDFDocument(url: Bundle.main.url(forResource: "doc"
    , withExtension: "pdf")!)

pdfView.displayMode = .singlePage
pdfView.autoScales = true

view.addSubview(pdfView)
于 2018-09-21T10:31:28.503 回答
0

我有个主意。您可以创建一个 ScrollView ,将 PDFView 添加到它。把它们放到控制器上。您可以根据需要更改 ScrollView.contentOffset

于 2018-09-21T10:41:00.300 回答
0

修复pdfView.displayMode = .singlePageContinuous

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        DispatchQueue.main.async {
            self.pdfView.subviews.forEach {
                guard let scrollView = ($0 as? UIScrollView) else { return }
                scrollView.setContentOffset(.zero, animated: false)
            }
        }

    }
于 2021-03-10T13:27:00.277 回答