swift - 使用 PDFKit - iOS 11 点击注释后触发应用内浏览器

标签 swift ios11 pdfkit

我正在使用 Apple 的 PDFKit 开发一个应用程序,并设法将一些注释按钮与一个有效的 PDFActionURL 放在一起,点击它们后会打开 iOS 标准浏览器。

不幸的是,我没有找到可行的解决方案,如何在应用内浏览器中打开关联链接或在 web View 中加载它。点击 AnnotationButton 后,PDFKit 会自动打开 Safari,我还没有找到有关 iOS 的属性或其他方式来通过操纵 f.e. 来影响此行为。 PDFAction。

let urlString = "https://www.apple.com"
let urlAction = PDFActionURL(url: urlString)
urlButton.action = urlAction
pdfPage.addAnnotation(urlButton)

有没有办法在每次 UIApplication.shared.open() 时强制调用 In-App-Browser 或操纵 PDFAction 的执行?

最佳答案

最后,我自己弄明白了 ;) 我忽略了 PDFViewDelegate 的一个函数

通过将pdfView的delegate设置为涉及的ViewController并使用该函数

func pdfViewWillClick(onLink sender: PDFView, with url: URL) {
        print(url)
}

您可以使用 PDFActionButton 的关联 URL 并触发应用内浏览器(例如 SFViewController)。

关于swift - 使用 PDFKit - iOS 11 点击注释后触发应用内浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49034120/

相关文章:

node.js - PDFKit - 在中心定位图像

ios - CGPath 和 UIBezierPath() 有什么区别?

ios - 自定义 UITableviewCells 正确显示,但该部分中只有一个是正确的类

ios - locationManager didEnterRegion 未在 XCode 9 模拟器中调用

ios - 所有 View Controller 和导航 View Controller 都位于状态栏下方

pdfkit - 如何在 PDFkit 中设置文本格式

ios - GameCenter - 在调用处理程序之前检查以前的登录?

ios - UITableview 在 ios 11 中闪烁,而在 iOS 10.2 中正常工作

objective-c - UITableView 上的 sendSubviewToBack 在 iOS 11 中无法正常工作

python - 保存需要登录的网页的 PDF