Удалить края и прокрутить из PDFView - PullRequest
0 голосов
/ 21 марта 2020

Я хочу отобразить 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
        }
    }
}

Я получаю следующее из моего приложения

enter image description here

Проблема в том, что все еще есть серая граница, и я также могу прокручивать. Я попробовал следующее, чтобы исправить обе проблемы, но ни одна из них не сработала.

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
...