【发布时间】:2021-09-05 04:04:10
【问题描述】:
我正在开发一个 swiftUI 应用程序,我必须在一个屏幕上显示多个 PDF 文件。 我创建了一个 PDFView:
struct PDFKitRepresentedView: UIViewRepresentable {
let url: URL
init(_ url: URL) {
self.url = url
}
func makeUIView(context: UIViewRepresentableContext<PDFKitRepresentedView>) -> PDFKitRepresentedView.UIViewType {
let pdfView = PDFView()
let pdfDocument = PDFDocument(url: self.url)
pdfView.document = pdfDocument
return pdfView
}
func updateUIView(_ uiView: UIView, context: UIViewRepresentableContext<PDFKitRepresentedView>) {
// Update the view.
}
}
struct PDFKitView: View {
var url: URL
var body: some View {
PDFKitRepresentedView(url)
}
}
在此处创建 PDF:
if let url = attachment.path {
PDFKitView(url: url)
.frame(width: UIScreen.screenWidth - 40, height: UIScreen.screenHeight - 40, alignment: .center)
.padding()
}
我遇到的问题是,每当第一个文档是多页的时,为了查看其他文档,用户必须先捏住以完全缩小,然后按顺序显示其他 PDF。
我尝试添加此值,但这只会使 PDF 的内容消失
我想知道直接在 PDFKitView 上设置框架是否会导致问题,但不是。 有人对如何使这项工作有任何建议吗?我假设如果我可以使 pdf 以最小缩放显示它会正确显示视图。
【问题讨论】:
标签: pdf swiftui pdfkit pinchzoom pdfview