我正在尝试使用PDFkit在iOS设备(ipad)上显示pdf。由于某种原因,当显示屏打开时,swift将显示第二页。我发现问题的一部分是preview.autoscale。当我将其设置为false时,pdf不是全屏显示,而是从第一页开始。因此,我认为问题是自动缩放的“缩放”部分正在第一页上放大。我确实在stackoverflow(PDFKit: PDFView doesn't resize when device rotated)上找到了一个类似的问题,但是该问题没有奏效。下面是相关代码:
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
答案 0 :(得分:1)
我也遇到自动秤的问题,我发现移动:
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)
答案 1 :(得分:0)
这是仅在iPad上存在的错误(与iPhone兼容),我确实发送了错误报告 他们回答说这是另一份报告的副本 这意味着他们知道这一点,并希望他们会尽快解决
答案 2 :(得分:-1)
在viewDidAppear中添加文档有效
[super viewDidAppear:animated];
PDFDocument *pdfDocument = [[PDFDocument alloc] initWithURL:self.pdfURL];
self.pdfView.document = pdfDocument;