我想使用 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