2017-07-06 12 views
10

マークアップas pdfは、iOS 11の共有シートの新しいオプションです。ユーザーがそのボタンをクリックすると、そのアクションのボタンがUIに表示されますpdfのマークアップビュー(下の図を参照)が表示されます。ios 11でプログラムでPDFマークアップを開く方法

enter image description here

事前

答えて

2

のおかげで、私はいくつかの時間のための解決策を見つけるためにしようとしてきました。 私はUIDocumentInteractionController、SFSafariViewController、UIActivityViewController、QLPreviewControllerを提示しました。

今のところインスタントマークアップをプログラムで呼び出す方法はありません。

だけ近いソリューションはUIActivityType.markupAsPDF (Documentation link)延長のアプリの一番下の行で

func showMenu() 
{ 
    if let pdfUrl = Bundle.main.url(forResource: "Martin", withExtension: "pdf") { 
     let activityController = UIActivityViewController(activityItems: [pdfUrl], applicationActivities:nil) 
     ctra.excludedActivityTypes = [ 
      UIActivityType.postToFacebook, 
      UIActivityType.postToTwitter, 
      UIActivityType.postToWeibo, 
      UIActivityType.message, 
      UIActivityType.mail, 
      UIActivityType.copyToPasteboard, 
      UIActivityType.assignToContact, 
      UIActivityType.saveToCameraRoll, 
      UIActivityType.addToReadingList, 
      UIActivityType.postToFlickr, 
      UIActivityType.postToVimeo, 
      UIActivityType.postToTencentWeibo, 
      UIActivityType.airDrop, 
      UIActivityType.openInIBooks, 
    ] 
    // These activity types shouldn't be excluded 
    // UIActivityType.print, 
    // UIActivityType.markupAsPDF 

    self.present(activityController, animated: true, completion: nil) 
    } 
} 

でUIActivityViewController提示することで、あなたは "PDFを作成" を参照してくださいます。 Screenshot InstantMarkup0

P.S.

次のスクリーンショットからわかるように、AppleはQLPreviewControllerを使用しています。 QLPreviewControllerを表示しようとしましたが、インスタントマークアップボタンなしで表示されます。 Appleが後で必要なAPIを私たちに提供するかもしれないが、私はそれについて疑問を持っている。 Opened QLPreviewController from UIActivityViewController Opened QLPreviewController from UIActivityViewController. Instant Markup mode.

関連する問題