2017-10-19 33 views
0

私はpdfに簡単な注釈(矢頭付きの行)を作成しようとしています。コードがコンパイルされると、pdfは表示されますが、線は描画されません。PDFKit - 注釈がPDFに表示されない

import UIKit 
import PDFKit 

class ViewController: UIViewController, PDFViewDelegate { 

var pdfView: PDFView! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    configureUI() 
    loadPDF() 
    configurePDFView() 

} 

private func configureUI() { 

    pdfView = PDFView() 
    pdfView.translatesAutoresizingMaskIntoConstraints = false 
    view.addSubview(pdfView) 

    pdfView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true 
    pdfView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true 
    pdfView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true 
    pdfView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true 
} 
private func loadPDF() { 
    guard 
     let url = Bundle.main.url(forResource: "RA", withExtension: "pdf"), 
     let document = PDFDocument(url: url) 
     else { fatalError() } 
    pdfView.document = document 
} 

private func configurePDFView() { 
    pdfView.delegate = self 
    let bounds = CGRect(x: 10, y:10 , width: 100, height: 100) 

    let line = PDFAnnotation(bounds: bounds, forType: .line, withProperties: nil) 
      line.setValue([0,0,100,100], forAnnotationKey: .linePoints) 
      line.setValue(["Closed", "Open"], forAnnotationKey: .lineEndingStyles) 
      line.setValue(UIColor.red, forAnnotationKey: .color) 

      line.startPoint = CGPoint(x: 10, y: 10) 
      line.endPoint = CGPoint(x: 100, y: 100) 
      line.startLineStyle = .closedArrow 
      line.endLineStyle = .openArrow 
      line.color = .green 

      let border = PDFBorder() 
      border.lineWidth = 2.0 
      line.border = border 
     } 
    } 

私にはこのミステリーは簡単な修正でなければなりません。コード行が欠落しています。あなたの助けに感謝します。

答えて

0

注釈をページに追加するのを忘れてしまった!

let page = pdfView.document?.page(at: 0) 
    page?.addAnnotation(line) 
関連する問題