问题描述
我正在开发一个 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 以最小缩放显示已经显示它会正确显示视图。