我尝试使用 WKWebViewController,但仍然无法正常工作。
url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];
WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];
controllerweb.url = url;
我尝试使用 WKWebViewController,但仍然无法正常工作。
url = [[NSBundle mainBundle] URLForResource:@"manual_eos_1d_x" withExtension:@"pdf"];
WKWebViewController * controllerweb = (WKWebViewController *)[segue destinationViewController];
controllerweb.url = url;
无法在 SFSafariViewController 中显示本地 pdf,但可以在 WKWebView 中显示。SFSafariViewController 仅支持 http 和 https 方案。
如果您的应用程序允许用户从 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)