¿Cómo se desactiva el rebote de desplazamiento en un PDFView usando PDFKit ?
La vista donde se muestra el PDF no tiene una opción de rebote de desplazamiento .
Aquí está mi código:
if let path = Bundle.main.path(forResource: pdfObject, ofType: "pdf") { let url = URL(fileURLWithPath: path) if let pdfDocument = PDFDocument(url: url) { pdfView.autoresizesSubviews = true pdfView.autoresizingMask = [.flexibleWidth, .flexibleHeight, .flexibleTopMargin, .flexibleLeftMargin] pdfView.autoScales = true pdfView.displaysPageBreaks = true pdfView.displayDirection = .vertical pdfView.displayMode = .singlePageContinuous pdfView.document = pdfDocument pdfView.maxScaleFactor = 4.0 pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit } }Gracias de antemano (¡por lo que probablemente sea una pregunta ridículamente simple!)
Desafortunadamente, no hay una API exportada para configurar el comportamiento de rebote deseado de PDFView .
Habiendo dicho eso, puede (de manera segura) explotar un detalle de implementación de PDFView para hackearlo por ahora:
extension PDFView { /// Disables the PDFView default bouncing behavior. func disableBouncing() { for subview in subviews { if let scrollView = subview as? UIScrollView { scrollView.bounces = false return } } print("PDFView.disableBouncing: FAILED!") } }y luego úsalo así en tu código:
pdfView.disableBouncing()Advertencia Tenga en cuenta que dicha solución podría romperse en futuras versiones de iOS. Sin embargo, tenga la seguridad de que su aplicación no se bloqueará como resultado (solo que no deshabilitará el comportamiento de rebote).