Я хочу отобразить PDF в своем приложении macOS, используя PDFKit. Поэтому я добавил простой PDFView в IB. Я хочу, чтобы каждый слайд 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