4

我尝试使用 WKWebViewController,但仍然无法正常工作。

url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];

WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];

controllerweb.url = url;
4

1 回答 1

4

无法在 SFSafariViewController 中显示本地 pdf,但可以在 WKWebView 中显示。SFSafariViewController 仅支持 http 和 https 方案。

SFSafariViewController 文档

如果您的应用程序允许用户从 Internet 上的任何位置查看网站,请使用 SFSafariViewController 类。如果您的应用程序自定义、交互或控制 Web 内容的显示,请使用 WKWebView 类。

来自 SFSafariViewController init(url:) 文档

URL 必须使用 http 或 https 方案。

要在 WKWebView 中显示本地 pdf 文件,您可以执行类似于以下代码的操作:

    let mainBundle:Bundle = Bundle(for: WKWebContainerView.self)
    let path = mainBundle.path(forResource: "sample", ofType: "pdf")
    let pdfUrl = URL(fileURLWithPath: path!)
    let folderUrl = URL(fileURLWithPath: mainBundle.bundlePath, isDirectory: true)
    webView.loadFileURL(pdfUrl, allowingReadAccessTo: folderUrl)
于 2016-10-05T08:49:34.573 回答