0

我想使用 PDFKit 在我的 macOS 应用程序中显示 PDF。因此,我在 IB 中添加了一个简单的 PDFView。我希望 PDF 的每张幻灯片都像图像一样单独显示且不易处理。唯一可以做的就是用箭头键浏览幻灯片。我使用以下代码进行了设置:

@IBOutlet weak var pdfView: PDFView!
override func viewDidLoad() {
    super.viewDidLoad()

    if let path = Bundle.main.path(forResource: "slidedemo", ofType: "pdf") {
        let url = URL(fileURLWithPath: path)
        if let pdfDocument = PDFDocument(url: url) {
            pdfView.displayMode = .singlePage
            pdfView.document = pdfDocument
            pdfView.pageShadowsEnabled = false

            guard let pageBox = pdfView.currentPage?.bounds(for: .mediaBox) else { return }
            pdfView.frame = pageBox
        }
    }
}

我从我的应用程序中获得以下信息

在此处输入图像描述

问题是仍然有灰色边框,我也可以滚动。我尝试了以下方法来解决这两个问题,但都没有奏效。

let scrollView = pdfView.subviews[0] as! NSScrollView
let clipView = pdfView.subviews[0].subviews[1] as! NSClipView

// To remove scrolling
scrollView.hasHorizontalScroller = false
scrollView.hasVerticalScroller = false
scrollView.hasHorizontalRuler = false
scrollView.hasVerticalRuler = false
scrollView.horizontalScroller = nil
scrollView.verticalScroller = nil

// To remove the border
scrollView.borderType = .noBorder
clipView.contentInsets = NSEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
clipView.automaticallyAdjustsContentInsets = false
4

0 回答 0