В моем приложении я использую PDFKit для отображения простых PDF-файлов.
PDF представлен на ViewController. В PDF нужно установить ширину экрана и не более. Я установил ограничение в раскадровке для PDFView, чтобы оно было «равным ширине суперпредставлению». Если размер PDF превышает несколько страниц, пользователь может осуществлять вертикальную прокрутку.
Казалось бы, все в порядке, отлично работает на всех размерах экрана, за исключением iPhone SE / 5, где ширина PDF больше размера экрана и, следовательно, для просмотра всего документа требуется горизонтальная прокрутка.
Не уверен, почему PDFView больше ширины, чем экран, когда я установил ограничение «равная ширина суперпредставлению»
Ниже приведен код одного из моих контроллеров представления, который представляет PDF
import Foundation
import UIKit
import PDFKit
class DisclaimerViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var pdfView: PDFView!
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
}
}
// colour scheme
//navigationController?.navigationBar.barTintColor = UIColor(red:0.6, green:0.4, blue:1.0, alpha:1.0)
self.view.backgroundColor = UIColor.black
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
@IBAction func back(_ sender: AnyObject) {
self.dismiss(animated: true, completion: nil)
}
}
Обратите внимание, что это тестирование в симуляторе. Это ошибка симулятора? Или я что-то упустил?
Заранее спасибо