【发布时间】:2017-12-10 06:02:29
【问题描述】:
【问题讨论】:
【问题讨论】:
几个小时以来,我一直在努力寻找解决方案。 我介绍了 UIDocumentInteractionController、SFSafariViewController、UIActivityViewController、QLPreviewController。
目前,无法以编程方式调用即时标记。
唯一接近的解决方案是使用 UIActivityType.markupAsPDF 呈现 UIActivityViewController (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)
}
}
附言
正如您在以下屏幕截图中看到的,Apple 使用 QLPreviewController。 我试图展示 QLPreviewController,但它显示时没有即时标记按钮。 可能苹果稍后会为我们提供所需的 API,但我对此表示怀疑。
【讨论】: