前提・実現したいこと
PDFを表示して、左右のスワイプ操作でページをめくるプログラムを作成しています.
発生している問題・エラーメッセージ
一部のPDFでは、画面を2度タップしてPDFを縮小してからでないとスワイプ操作が機能せず、プログラムを実行した直後に、コンソールに下記のエラーメッセージが出ます.
.notdef: no mapping. (このエラーが多数表示された後、以下のメッセージが出力されます) missing or invalid CIDToGIDMap entry.
エラーメッセージについて調べてみましたが、なかなか参考になるサイトを見つけることが出来ていません. エラーの意味と解決方法について教えていただきたいです.
該当のソースコード
Swift
1import UIKit 2import PDFKit 3 4class ViewController: UIViewController { 5 @IBOutlet weak var pdfView: PDFView! 6 @IBOutlet weak var pdfThumnailView: PDFThumbnailView! 7 8 private var isPDFInit = false 9 10 //PDFのpathを取得 11 var pdfURL: URL? { 12 return Bundle.main.url(forResource: "a", withExtension: "pdf") 13 } 14 15 //PDFView周りの初期化 16 override func viewDidLayoutSubviews() { 17 super.viewDidLayoutSubviews() 18 19 if !self.isPDFInit { 20 self.isPDFInit = true 21 showPDF() 22 } 23 24 } 25 26 //PDFのレイアウトなど 27 private func showPDF(){ 28 guard let url = pdfURL else { 29 print("error") 30 return 31 } 32 let pdfDocument = PDFDocument(url: url) 33 34 pdfView.autoScales = true //画面サイズに収まるように表示 35 pdfView.displayMode = .singlePage //1ページごとに表示 36 pdfView.displayDirection = .horizontal //スクロール方向: 水平 37 pdfView.backgroundColor = UIColor.gray //背景色 38 39 //取得したPDFをdocumentに設定して表示 40 pdfView.document = pdfDocument 41 42 //サムネイル 43 pdfThumnailView.layoutMode = .horizontal 44 pdfThumnailView.pdfView = pdfView 45 } 46 47 48 //次のページへ 49 @IBAction func nextSwipe(_ sender: UISwipeGestureRecognizer) { 50 if pdfView.canGoToNextPage { 51 pdfView.goToNextPage(nil) 52 } 53 print("next") 54 } 55 56 //前のページへ 57 @IBAction func backSwipe(_ sender: UISwipeGestureRecognizer) { 58 if pdfView.canGoToPreviousPage { 59 pdfView.goToPreviousPage(nil) 60 } 61 print("back") 62 } 63 64 override func viewDidLoad() { 65 super.viewDidLoad() 66 // Do any additional setup after loading the view. 67 } 68 69} 70
補足情報(FW/ツールのバージョンなど)
Xcode 11.1, Swift 5.1
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。