ios - Swift PDFKit 自动缩放缩放到错误的页面
问题描述
我正在尝试使用 PDFkit 在 iOS 设备(ipad)上显示 pdf。出于某种原因,当显示打开时,swift 会显示第二页。我发现部分问题是preview.autoscale。当我将此设置为 false 时,pdf 不是全屏的,而是从第一页开始。所以,我认为问题在于自动缩放的“缩放”部分正在放大第一页。我确实在 stackoverflow 上找到了一个类似的问题(PDFKit: PDFView doesn't resize when device rotate ),但解决方案不起作用。下面是相关代码:
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
解决方案
我也遇到了自动缩放问题,我发现移动:
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)
推荐阅读
- tableau-api - Tableau - 如何在时间戳中添加分钟并按工作日显示
- docker - Hadoop Spark docker swarm,其中 pyspark 给出 BlockMissingException 但文件很好
- bash - 如何以特定用户身份执行和登录?
- firebase - 在与 Firestore 的群聊中计算看不见的消息
- python - 为什么这不会附加到列表中?
- java - 使用重复键(没有三路分区),快速排序变得更快。到底是怎么回事?
- javascript - 无法在“RTCPeerConnection”上执行“setLocalDescription”
- google-apps-script - 在 Google AppScript 中从本地加载或读取 JSON
- javascript - 将值与值或数组匹配的函数(更好的编写方式)
- node.js - Nodejs 后台作业策略