我有一个应用程序,可以拍摄文档照片,然后在新的UIViewController中以PDFView的形式显示为pdf。我遇到的问题是,在显示pdf文档时,默认情况下会放大某些内容,而PDFView不会显示文档的完整轮廓。我该怎么做?
class ShowPDFViewController: UIViewController{
@IBOutlet weak var pdfPreview: PDFView!
var pdfDocument: PDFDocument!
override func viewDidLoad() {
super.viewDidLoad()
// PRESENT PDF DOCUMENT JUST CREATED
pdfPreview.document = pdfDocument
pdfPreview.autoScales = true
}
}
这是当前默认显示pdf文档的方式-经常缩放:
这就是我希望默认显示的文档的方式-文档的完整轮廓请参见:
答案 0 :(得分:2)
我通过以下方式从代码中创建视图,并且可以正常工作(左侧和右侧对齐到超级视图的左侧和右侧,高度缩放到适合的大小)
var pdfView = PDFView(frame: view.frame)
pdfView.document = PDFDocument(url: Bundle.main.url(forResource: "doc"
, withExtension: "pdf")!)
pdfView.displayMode = .singlePage
pdfView.autoScales = true
view.addSubview(pdfView)
答案 1 :(得分:0)
我有个主意。 您可以创建ScrollView,将PDFView添加到其中。将它们交给控制器。 您可以根据需要更改ScrollView.contentOffset
答案 2 :(得分:0)
修复 pdfView.displayMode = .singlePageContinuous
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
DispatchQueue.main.async {
self.pdfView.subviews.forEach {
guard let scrollView = ($0 as? UIScrollView) else { return }
scrollView.setContentOffset(.zero, animated: false)
}
}
}