如何以编程方式在ios 11中打开pdf标记

问题描述:

标记为pdf是iOS 11中的分享表中的新选项,我会在该UI中为该操作提供一个按钮,以便当用户单击该按钮时pdf标记视图(请参阅下图)显示。如何以编程方式在ios 11中打开pdf标记

enter image description here

在此先感谢

我一直在试图找出了几个小时的解决方案。 我提出了UIDocumentInteractionController,SFSafariViewController,UIActivityViewController,QLPreviewController。

而现在,没有办法以编程方式调用Instant Markup。

唯一附近的解决办法是用UIActivityType.markupAsPDF (Documentation link)提出UIActivityViewController

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) 
    } 
} 

在扩展应用程序的底线,你会看到 “创建PDF”。 Screenshot InstantMarkup0

P.S.

正如你可以看到以下屏幕截图,Apple使用QLPreviewController。 我试过呈现QLPreviewController,但它没有显示Instant Markup按钮。 这可能是Apple稍后会提供给我们所需的API,但我对此有所怀疑。 Opened QLPreviewController from UIActivityViewController Opened QLPreviewController from UIActivityViewController. Instant Markup mode.