Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

413
Visualizações
¿Cómo deshabilitar acercar y alejar en pdfView?

Quiero tener justo lo que recibo después

 pdfView.autoScales = true

sin posibilidad de cambiar la escala.

Después de la ayuda de @carmine tenemos:

 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 } } } }

Esto da tal resultado: https://gfycat.com/briefpowerlessbug

Pero si corres sin estas líneas:

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

Recibirás el resultado que necesito pero con zoom: https://gfycat.com/presentconcretebunting

Quiero deshabilitar el zoom y hacer que el ancho de pdfView sea igual al ancho del archivo pdf.

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Intenté varios métodos para deshabilitar el zoom de pellizco, incluida la anulación de canZoomIn (descubrí que no se invocó en el zoom de pellizco), establecer el método pdfViewWillChangeScaleFactor del delegado (descubrí que nunca se llamó) y establecer el factor de escala máximo y mínimo en la vista ( esto evitó que la vista se escalara automáticamente).

Al final, pude lograr lo que quería al agregar mi propio pellizcoGestureRecognizer a PDFView para anular el pellizcoGestureRecognizer incorporado de la vista. Para que su reconocedor de pellizco tenga prioridad, deberá crear un delegado para su reconocedor y anular el siguiente método:

 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 }
over 4 years ago · Santiago Trujillo Relatório

0

Usar

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

Y añadir

 override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) { super.viewWillTransition(to: size, with: coordinator) self.pdfView.autoScales = true }
over 4 years ago · Santiago Trujillo Relatório

0

La solución es crear un CustomPDFView y anular su propiedad de instancia canZoomIn :

 class CustomPDFView: PDFView { override func canZoomIn() -> Bool { return false } }

Entonces el @IBOutlet weak var pdfView: PDFView! debe ser del tipo @IBOutlet weak var pdfView: CustomPDFView! . También actualícelo en IdentyInspector para que no se bloquee.

Para obtener más información, consulte: canZoomIn de Apple Docs

puedeZoomIn

Devuelve un valor booleano que indica si el usuario puede ampliar la vista y hacer zoom.

Declaración

 var canZoomIn: Bool { get }
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda