在 PDFKit 中隐藏指示器滚动

Hide indicator scroll in PDFKit

这是我的 PDFView 配置。我想显示水平滚动的 PDF 查看器,显示单页。

但是 PDFView 显示的滚动指示器是不正确的。我想隐藏滚动指示器。我的问题是如何隐藏它或如何使其滚动位置正确?

pdfView.autoScales = true
pdfView.displaysPageBreaks = true
pdfView.displayMode = .singlePageContinuous
pdfView.usePageViewController(true)
pdfView.displayDirection = .horizontal
pdfView.minScaleFactor = 1
pdfView.document = pdfDocument

由于 PDFview 不允许访问其滚动元素,因此访问 pdfview 的子视图的技巧可能对您有用。

在控制台上打印的子视图链如下所示:

(lldb) po pdfView.subviews
▿ 1 element
    - 0 : <_UIPageViewControllerContentView: 0x7fec7411d9f0; frame = (0 0; 414 808); clipsToBounds = YES; opaque = NO; autoresize = W+H; layer = <CALayer: 0x600001b33720>>

(lldb) po pdfView.subviews.first?.subviews.first
▿ Optional<UIView>
  - some : <_UIQueuingScrollView: 0x7fec7483aa00; frame = (0 0; 414 736); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x6000015153e0>; layer = <CALayer: 0x600001b33740>; contentOffset: {414, 0}; contentSize: {1242, 736}; adjustedContentInset: {0, 0, 0, 0}>

(lldb) 

因此,基于此,我测试了下面的代码,它在我这边起作用了。尝试使用代码:

    let pdfScrollView = pdfView.subviews.first?.subviews.first as? UIScrollView
    pdfScrollView?.showsHorizontalScrollIndicator = false  // if pdf view scroll direction is horizontal
    pdfScrollView?.showsVerticalScrollIndicator = false // if pdf view scroll direction is vertical