如何解决当 autoScales 设置为 true 时,iOS PDFView 会导致底层断言
我正在开发一个需要显示相当大的 PDF 文件的应用程序。我为此使用 PDFKits PDFView,然后将其包装在 UIViewRepresentable 中。问题是在设置 PDFView.autoScales = true
时,我在启动时出错。该应用程序仍然有效,autoScales 功能也是如此,但我仍然想修复该错误。我还应该提到,在 iOS 开发方面,我是一个完整的初学者。
这是我对 makeUIView 的实现:
func makeUIView(context: UIViewRepresentableContext<PDFKitRepresentedView>) -> PDFKitRepresentedView.UIViewType {
let pdfView = PDFView()
pdfView.autoScales = true
pdfView.pageBreakMargins.top = 0.0
pdfView.pageBreakMargins.bottom = 0.0
pdfView.pageShadowsEnabled = false
pdfView.document = PDFDocument(url: self.url)
return pdfView
}
这是错误:
[Assert] -[UIScrollView _clampedZoomScale:allowRubberbanding:]: Must be called with non-zero scale
[Unknown process name] CGAffineTransformInvert: singular matrix.
它们似乎在 PDFView 被初始化时被打印出来。任何想法可能是什么问题?
解决方法
我遇到了同样的问题,我现在已经解决了。
您的 pdfView 应先设置框架。您可以提供任何值。
let pdfView = PDFView(frame: CGRect(x: 0,y: 0,width: 100,height: 100))
self.view.addSubview(pdfView)
现在OK了,然后解决错误
,我最终忽略了它。似乎工作正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。