Я использую PDFKit для отображения простых PDF.Когда я отображаю их на экране внутри UIView, я использовал приведенный ниже код.
Цели: - Начать с содержимого, чтобы заполнить представление - хотите заполнить всю ширину экрана
override func viewDidLoad() {
super.viewDidLoad()
if let path = Bundle.main.path(forResource: "Disclaimer", ofType: "pdf") {
let url = URL(fileURLWithPath: path)
if let pdfDocument = PDFDocument(url: url) {
pdfView.document = pdfDocument
pdfView.autoScales = true
pdfView.maxScaleFactor = 4.0
pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
pdfView.displayMode = .singlePageContinuous
pdfView.displaysPageBreaks = false
}
}
self.view.backgroundColor = UIColor.black
}
В раскадровке я установил ограничение для UIview, чтобы заполнить всю ширину экрана.screen - что и делает.
При использовании autoscale
объем продаж PDF-документа меньше ширины экрана, он в основном добавляет поле вокруг PDF.Я могу увеличить масштаб и заставить его PDF заполнить весь экран, прежде чем он переполнится и полосы прокрутки вступят в игру.
Если я установлю масштабный коэффициент вручную, я смогу сделать одну PDF-страницу заполненной по ширине экрана,но если PDF имеет более одной страницы, то ширина становится меньше ширины экрана при наличии margin
.
В конечном счете, я просто хочу заполнить всю ширину экрана с помощью PDFбез каких-либо отступов / пробелов.
Буду признателен за некоторую помощь.
ОБНОВЛЕНИЕ: код, используемый в соответствии с рекомендациями ниже, но в настоящее время нетработает:
if let path = Bundle.main.path(forResource: pdfObject, ofType: "pdf") {
let url = URL(fileURLWithPath: path)
if let pdfDocument = PDFDocument(url: url) {
pdfView = PDFView(frame: CGRect(x: 0, y: 0, width: pdfView.frame.width, height: pdfView.frame.height))
pdfView.document = pdfDocument
}
}
Примечание: pdfView - это мой UIView, который является PDFView