前提・実現したいこと
プロジェクト内にあるPDFファイルを表示させるプログラムを作っています.
参考サイトの通りにコードを書いて実行すると、シミュレーターは起動しますが、エラーとなりPDFが表示されません.
原因は何でしょうか?ご回答よろしくお願いします.
発生している問題・エラーメッセージ
This crashes with "uncaught exception 'CALayerInvalidGeometry', reason: 'CALayer position contains NaN: [nan nan]'":
該当のソースコード
import UIKit import PDFKit class ViewController: UIViewController { @IBOutlet weak var pdfView: PDFView! @IBOutlet weak var pdfThumbnailView: PDFThumbnailView! var pdfDocument: PDFDocument! var url: URL? override func viewDidLoad() { super.viewDidLoad() getUrl() showPDF() } //URLを取得 func getUrl() { if let path = Bundle.main.path(forResource: "pdfSample", ofType: "pdf") { url = URL(fileURLWithPath: path) } } //PDFを表示 func showPDF() { pdfDocument = PDFDocument(url: url!) //画面サイズに収まるように表示 pdfView.autoScales = true // 単一ページのみ表示 pdfView.displayMode = .singlePage //スクロール方向を水平方向へ pdfView.displayDirection = .horizontal //余白を入れる pdfView.displaysPageBreaks = true pdfView.pageBreakMargins = UIEdgeInsets(top: 10.0, left: 20.0, bottom: 10.0, right: 20.0) //上で取得したpdfDocumentをdocumentに設定し、表示させる pdfView.document = pdfDocument pdfThumbnailView.layoutMode = .horizontal pdfThumbnailView.pdfView = pdfView } }
試したこと
・print(path)で、pathが表示されるか確認しました.
・pdfView.document = pdfDocument をコメントアウトすると、何も表示はされませんが、エラーはなくなりました.
・同様の問題が報告されているサイトを探しましたが、見つけられませんでした.
補足情報(FW/ツールのバージョンなど)
・PDfファイルの名前は、pdfSample.pdfではなく、自分が作成したプロジェクト内にあるファイル名に変えています.
・バージョン: Xcode 10.3, Swift5.0.1
・参考サイト https://qiita.com/misakiagata/items/a105ac1b25024c07231f
回答1件
あなたの回答
tips
プレビュー