我正在尝试使用PDFkit在iOS设备(ipad)上显示pdf。出于某种原因,swift在显示打开时显示第二页。我发现问题的一部分是preview.autoscale。当我将其设置为false时,pdf不是全屏,而是从第一页开始。所以,我认为问题是自动缩放的“缩放”部分是放大第一页。我确实在stackoverflow(PDFKit: PDFView doesn't resize when device rotated)上找到了一个simalar问题,但是这个问题没有用。以下是相关代码:
if let FBdocument = PDFDocument(url: fileURL) {
pdfView.document = FBdocument
pdfView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(pdfView)
pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true
pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true
pdfView.autoScales = true
我也遇到了汽车问题,我发现搬家:
pdfView.autoScales = true
与之前的任何其他定位方法一起:
pdfView.document = FBdocument
然后最后添加子视图:
view.addSubview(pdfView)
因此我会使用:
if let FBdocument = PDFDocument(url: fileURL) {
pdfView.translatesAutoresizingMaskIntoConstraints = false
pdfView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor,constant: 0.0).isActive = true
pdfView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor,constant: 0.0).isActive = true
pdfView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor,constant: 0.0).isActive = true
pdfView.bottomAnchor.constraint(equalTo: letdothis_button.topAnchor,constant: 0.0).isActive = true
pdfView.autoScales = true
pdfView.document = FBdocument
view.addSubview(pdfView)
这是iPad上的一个错误(与iPhone一起工作正常),我确实发送了一个错误报告,他们回复了另一份报告的副本,这意味着他们知道了这一点,希望他们能尽快解决
在viewDidAppear中添加文档有效
[super viewDidAppear:animated];
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithURL:self.pdfURL];
self.pdfView.document = pdfDocument;
}