这是我的代码。我有一个文件“ dreamGirls.pdf”
import UIKit
import PDFKit
var pdfView : PDFView!
func createPDFViewer() {
let path = Bundle.main.path(forResource: "dreamGirls", ofType: "pdf")
let url = URL(fileURLWithPath: path!)
let pdfDocument = PDFDocument(url:url)
self.pdfView.document = pdfDocument
self.pdfView.autoScales = true
self.pdfView.displayMode = .singlePageContinuous
self.pdfView.displayDirection = .vertical
let width = self.view.frame.width
let height = self.view.frame.height - 100
self.pdfView.frame = CGRect(x: 0, y: 100, width: width, height: height)
self.pdfView.backgroundColor = .red
self.view.addSubview(self.pdfView)
}
我还尝试了以下方法:
func createPDFViewer() {
let fileToShow = Bundle.main.url(forResource: "dreamGirls", withExtension: "pdf")
let documentToShow = PDFDocument(url: fileToShow!)
self.pdfView.document = documentToShow
self.pdfView.autoScales = true
self.pdfView.displayMode = .singlePageContinuous
self.pdfView.displayDirection = .vertical
let width = self.view.frame.width
let height = self.view.frame.height - 100
self.pdfView.frame = CGRect(x: 0, y: 100, width: width, height: height)
self.pdfView.backgroundColor = .red
self.view.addSubview(self.pdfView)
}
错误输出:致命错误:意外地发现nil,同时隐式展开一个可选值
pdfView PDFView?无
我也尝试过这个,并且得到了同样的错误:
import UIKit
import PDFKit
class ViewController: UIViewController {
var pdfView : PDFView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
let fileToShow = Bundle.main.url(forResource: "dreamGirls", withExtension: "pdf")
let documentToShow = PDFDocument(url: fileToShow!)
self.pdfView!.document = documentToShow!
self.pdfView!.autoScales = true
self.pdfView!.displayMode = .singlePageContinuous
self.pdfView!.displayDirection = .vertical
let width = self.view.frame.width
let height = self.view.frame.height - 100
self.pdfView!.frame = CGRect(x: 0, y: 100, width: width, height: height)
self.pdfView!.backgroundColor = .red
self.view.addSubview(self.pdfView!)
}
}
self pdfViewerTest.ViewController 0x00007fe538520580 UIKit.UIViewController UIViewController
pdfView PDFView吗?否无fileToShow URL?“文件:///Users/nacly/Library/Developer/CoreSimulator/Devices/C92B8B59-90C5-4509-A848-99D0B39A4469/data/Containers/Bundle/Application/7D0B63DF-F265-48DB-8887-D0563FD45FDA/pdfViewerTest.app/ dreamGirls.pdf“某些_url NSURL” file:/// Users / nacly / Library / Developer / CoreSimulator / Devices / C92B8B59-90C5-4509-A848-99D0B39A4469 / data / Containers / Bundle / Application / 7D0B63DF-F265-48DB-8887 -D0563FD45FDA / pdfViewerTest.app / dreamGirls.pdf“ 0x0000600002638120 documentToShow PDFDocument?0x00006000000301d0 ObjectiveC.NSObject NSObject
宽度CGFloat高度CGFloat
如果未初始化PDFView,我还尝试了以下操作:
import UIKit
import PDFKit
class ViewController: UIViewController {
var pdfView : PDFView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.pdfView = PDFView()
let fileToShow = Bundle.main.url(forResource: "dreamGirls", withExtension: "pdf")
let documentToShow = PDFDocument(url: fileToShow!)
self.pdfView!.document = documentToShow!
self.pdfView!.autoScales = true
self.pdfView!.displayMode = .singlePageContinuous
self.pdfView!.displayDirection = .vertical
let width = self.view.frame.width
let height = self.view.frame.height - 100
self.pdfView!.frame = CGRect(x: 0, y: 100, width: width, height: height)
self.pdfView!.backgroundColor = .red
self.view.addSubview(self.pdfView!)
}
它返回以下错误:
pdfViewerTest [16863:1994476] *由于未捕获的异常'CALayerInvalidGeometry'而终止应用程序,原因:'CALayer位置包含NaN:[nan nan]'*第一个抛出调用堆栈:
好的,我解决了。由于几何形状不好,我不得不在“ viewDiDAppear”而不是“ viewDiDLoad”中进行调用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句