[英]iOS PDFKit - width issue
在我的应用程序中,我使用 PDFKit 来显示简单的 PDF。
PDF 显示在 ViewController 上。 要设置为屏幕宽度的 PDF,仅此而已。 我在情节提要中为 PDFView 设置了“与超级视图宽度相等”的约束。 如果 PDF 超过多页,则用户可以垂直滚动。
一切似乎都很好,在除 iPhone SE / 5 之外的所有屏幕尺寸上都能完美运行,其中 PDF 宽度大于屏幕尺寸,因此需要水平滚动才能查看整个文档。
当我设置了“与超级视图等宽”约束时,不确定为什么 PDFView 的宽度大于屏幕视图的宽度
下面是来自我的一个视图控制器的代码,它显示了一个 PDF
import Foundation
import UIKit
import PDFKit
class DisclaimerViewController: UIViewController, UIScrollViewDelegate {
@IBOutlet var pdfView: PDFView!
override func viewDidLoad() {
super.viewDidLoad()
if let path = Bundle.main.path(forResource: "Disclaimer", ofType: "pdf") {
let url = URL(fileURLWithPath: path)
if let pdfDocument = PDFDocument(url: url) {
pdfView.document = pdfDocument
pdfView.autoScales = true
pdfView.maxScaleFactor = 4.0
pdfView.minScaleFactor = pdfView.scaleFactorForSizeToFit
pdfView.displayMode = .singlePageContinuous
}
}
// colour scheme
//navigationController?.navigationBar.barTintColor = UIColor(red:0.6, green:0.4, blue:1.0, alpha:1.0)
self.view.backgroundColor = UIColor.black
}
override var preferredStatusBarStyle : UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
}
@IBAction func back(_ sender: AnyObject) {
self.dismiss(animated: true, completion: nil)
}
}
请注意,这是在模拟器中测试。 这个模拟器有bug吗? 或者我错过了什么?
提前致谢
我发誓我想把一块大砖绑在 Xcode 和它的模拟器上,然后把它们都扔到海底……
这似乎是一个模拟器错误。
当我的故事板设置为以 iPhone SE / 5 大小查看视图控制器时,没有更改实际的 ViewControllers、约束等,PDFView 的 iPhone SE / 5 模拟器宽度与 iPhone/SE 的宽度完美匹配。 没有水平滚动。
但是如果故事板设置为查看更大的屏幕尺寸,那么 iPhone SE / 5 的模拟器就会变得太宽,导致水平滚动。
从字面上看,只是改变您查看故事板的方式似乎打破了模拟器中宽度的限制。
我希望这可以帮助其他人并避免我所遭受的同样浪费的时间......
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.