我正在使用Apple的PDFKit开发应用程序,并设法将一些注释按钮添加到工作PDFActionURL
,在点击它们后打开iOS标准浏览器。
不幸的是,我没有找到有效的解决方案,如何在应用内浏览器中打开相关链接或在webview中加载它。点击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()
调用应用程序内浏览器或操纵PDFAction
的执行?
答案 0 :(得分:1)
最后,我自己想出来了;)我忽略了PDFViewDelegate
的一个功能通过将pdfView的委托设置为所涉及的ViewController并使用此函数
func pdfViewWillClick(onLink sender: PDFView, with url: URL) {
print(url)
}
您可以使用PDFActionButton的关联URL并触发应用内浏览器(例如SFViewController)。
答案 1 :(得分:0)
您希望像这样实例化视图:
let webV:UIWebView = UIWebView(frame: CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
webV.loadRequest(NSURLRequest(URL: NSURL(string: "http://www.google.co.in")))
webV.delegate = self;
self.view.addSubview(webV)
找到HERE
为了做到这一点,我会在你的故事板中创建一个新的ViewController
,嵌套在navigationController
中,然后转到注释选择的视图。使用上面显示的类似代码集在viewDidLoad
上显示您的内容。该代码可能是旧版本的swift,因此您需要更新它。有关使用提供的链接中关联的delegate
的详细信息。