gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 01:50:24 25 4
gpt4 key购买 nike

我想得到我收到的东西

 pdfView.autoScales = true

无法更改比例。

在@carmine 的帮助下我们有:

import UIKit
import PDFKit

class ViewController: UIViewController {

@IBOutlet weak var pdfView: PDFView!

override func viewDidLoad() {
super.viewDidLoad()

setPdfFile()
}

override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
self.pdfView.autoScales = true
}

func setPdfFile() {
if let path = Bundle.main.path(forResource: "Swift.org - Getting Started", ofType: "pdf") {
let url = URL(fileURLWithPath: path)
if let pdfDocument = PDFDocument(url: url) {
pdfView.autoScales = true
pdfView.displayMode = .singlePageContinuous
pdfView.displayDirection = .vertical
pdfView.document = pdfDocument

pdfView.displaysPageBreaks = false

pdfView.minScaleFactor = pdfView.scaleFactor
pdfView.maxScaleFactor = pdfView.scaleFactorForSizeToFit
}
}
}
}

这给出了这样的结果:https://gfycat.com/briefpowerlessbug

但是如果你在没有这些行的情况下运行:

            pdfView.minScaleFactor = pdfView.scaleFactor
pdfView.maxScaleFactor = pdfView.scaleFactorForSizeToFit

您将收到我需要的结果,但带有缩放:https://gfycat.com/presentconcretebunting

我想禁用缩放并使 pdfView 的宽度等于 pdf 文件的宽度。

最佳答案

我尝试了多种禁用捏合缩放的方法,包括重写 canZoomIn(我发现它在捏合缩放时未被调用)、设置委托(delegate)的 pdfViewWillChangeScaleFactor 方法(我发现它从未被调用)以及设置最大和最小比例因 subview (这阻止了 View 自动缩放)。

最后,我能够通过将自己的 pinchGestureRecognizer 添加到 PDFView 来覆盖 View 的内置 pinchGestureRecognizer 来完成我想要的。为了让您的捏合识别器具有优先权,您需要为您的识别器创建一个委托(delegate)并覆盖以下方法:

 func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer,
shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool {

//Prefer this pinch recognizer over the default one to override pinch zoom
if gestureRecognizer is UIPinchGestureRecognizer && otherGestureRecognizer is UIPinchGestureRecognizer {
return true
}
}
return false
}

关于ios - 如何在 pdfView 中禁用放大和缩小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54829190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com