在 PDFView (iOS) 上禁用缩放

Posted

技术标签:

【中文标题】在 PDFView (iOS) 上禁用缩放【英文标题】:Disable zooming on PDFView (iOS) 【发布时间】:2019-09-06 18:02:36 【问题描述】:

如何禁用 PDFView 的缩放功能?

我已经尝试过here 的解决方案,但没有成功。我仍然可以放大和缩小。

这是我的 PDF 视图:

let pdfView: PDFView = 
    let pdfView = PDFVIew()
    let urlPath = Bundle.main.path(forResource: "PdfFile", ofType: "pdf")
    let url = URL(fileURLWithPath: urlPath!)
    pdfView.document = PDFDocument(url: url)
    pdfView.autoScales = true
    pdfView.displayMode = .singlePageContinuous
    pdfView.displayDirection = .vertical
    pdfView.pageShadowsEnabled = false
    return pdfView
()

【问题讨论】:

【参考方案1】:

添加以下代码行将禁用PDFView 的缩放。

override func viewDidAppear(_ animated: Bool) 
    super.viewDidAppear(animated)
    pdfView.minScaleFactor = pdfView.scaleFactor
    pdfView.maxScaleFactor = pdfView.scaleFactor

【讨论】:

这行得通。非常感谢!我曾经做过pdfView.maxScaleFactor = pdfView.scaleFactorForSizeToFit,但没有工作。 这是有效的,因为您根本不想缩放 pdf 视图,并且您试图在 viewDidLoad 中设置 minScaleFactor maxScaleFactor ,它们没有完全渲染。在viewDidAppearpdfView 中完全渲染并给出实际的scaleFactor。因此将其设置为 minScaleFactor maxScaleFactor 以防止缩放。就是这样。 @ataravati,您应该接受赏金,因为这是适合您的解决方案。 直到 8 小时后才会让您接受赏金。这就是为什么我直到现在才接受它。

以上是关于在 PDFView (iOS) 上禁用缩放的主要内容,如果未能解决你的问题,请参考以下文章

PDFView - 如何自动缩放并仍然加载第一页?

在 NSCollectionView 中禁用 PDFView 的滚动

如何在pdfView中禁用放大和缩小?

IOS移动禁用缩放

PDFKit / PDFView 禁用与表单注释的交互

iOS 捏缩放 - 现在无法通过视口禁用