首页 > 解决方案 > Swift PDFKit 自动缩放缩放到错误的页面

问题描述

我正在尝试使用 PDFkit 在 iOS 设备(ipad)上显示 pdf。出于某种原因,当显示打开时,swift 会显示第二页。我发现部分问题是preview.autoscale。当我将此设置为 false 时,pdf 不是全屏的,而是从第一页开始。所以,我认为问题在于自动缩放的“缩放”部分正在放大第一页。我确实在 stackoverflow 上找到了一个类似的问题(PDFKit: PDFView doesn't resize when device rotate ),但解决方案不起作用。下面是相关代码:

    if let FBdocument = PDFDocument(url: fileURL) {
        pdfView.document = FBdocument
        pdfView.translatesAutoresizingMaskIntoConstraints = false
        view.addSubview(pdfView)

        pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
        pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
        pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true

        pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true


        pdfView.autoScales = true

标签: iospdfkit

解决方案


我也遇到了自动缩放问题,我发现移动:

pdfView.autoScales = true

与之前的任何其他定位方法一起:

pdfView.document = FBdocument

然后最后添加子视图:

 view.addSubview(pdfView)

因此我会使用:

if let FBdocument = PDFDocument(url: fileURL) {

    pdfView.translatesAutoresizingMaskIntoConstraints = false

    pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
    pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
    pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true

    pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true


    pdfView.autoScales = true

    pdfView.document = FBdocument

    view.addSubview(pdfView)

推荐阅读