使用 PDFKit 点击注释后触发应用内浏览器 - iOS 11
Trigger In-App-Browser after tapping on Annotation with PDFKit - iOS 11
我正在使用 Apple 的 PDFKit 开发一个应用程序,并设法放置了一些带有工作 PDFActionURL
的注释按钮,点击它们后会打开 iOS 标准浏览器。
不幸的是,我没有找到有效的解决方案,如何在应用内浏览器中打开关联链接或在网络视图中加载它。点击 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
的执行?
您想像这样实例化视图:
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)
Found HERE
为了正确地做到这一点,我会在您的情节提要中创建一个新的 ViewController
,嵌套在 navigationController
中并转到注释选择视图。使用与上述类似的一组代码在 viewDidLoad
上显示您的内容。该代码可能在 swift 的旧版本中,因此您需要对其进行更新。在提供的 link 中有关于使用关联的 delegate
的更多详细信息。
最后,我自己弄明白了 ;) 我忽略了 PDFViewDelegate
的一个功能
通过将pdfView的delegate设置为涉及的ViewController并使用该函数
func pdfViewWillClick(onLink sender: PDFView, with url: URL) {
print(url)
}
您可以使用 PDFActionButton 的关联 URL 并触发 In-App-Browser(例如 SFViewController)。
我正在使用 Apple 的 PDFKit 开发一个应用程序,并设法放置了一些带有工作 PDFActionURL
的注释按钮,点击它们后会打开 iOS 标准浏览器。
不幸的是,我没有找到有效的解决方案,如何在应用内浏览器中打开关联链接或在网络视图中加载它。点击 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
的执行?
您想像这样实例化视图:
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)
Found HERE
为了正确地做到这一点,我会在您的情节提要中创建一个新的 ViewController
,嵌套在 navigationController
中并转到注释选择视图。使用与上述类似的一组代码在 viewDidLoad
上显示您的内容。该代码可能在 swift 的旧版本中,因此您需要对其进行更新。在提供的 link 中有关于使用关联的 delegate
的更多详细信息。
最后,我自己弄明白了 ;) 我忽略了 PDFViewDelegate
的一个功能通过将pdfView的delegate设置为涉及的ViewController并使用该函数
func pdfViewWillClick(onLink sender: PDFView, with url: URL) {
print(url)
}
您可以使用 PDFActionButton 的关联 URL 并触发 In-App-Browser(例如 SFViewController)。