【问题标题】:PDF file not shown in iPad webViewiPad webView 中未显示 PDF 文件
【发布时间】:2018-01-31 23:56:52
【问题描述】:

我有一个 Swift 应用程序,它使用 webView.load(request) 函数在 webView 中打开 PDF 文件。

它在调试时与模拟器完美配合,但在真实设备(iPad)中启动时,PDF 文件不显示。

应用没有设置任何错误。

欢迎任何帮助

【问题讨论】:

  • 分享你的代码

标签: swift pdf


【解决方案1】:

这可能是一个很明显的问题:您的 iPad 连接到互联网了吗?

那么可能是因为您的链接不是“https://....”,而只是一个“http://”,因此可能 webview 不会打开它

【讨论】:

  • PDF 文件位于默认文档文件夹中。对 webView 的任何加载都可以正常工作,但不能加载 PDF 文件。奇怪的是,同样的代码在模拟器中也能运行。
  • 哦,好吧,我以为您使用的是 url,所以是的,在这种情况下,您的问题很奇怪...我可以看到您正在使用的代码吗?
  • stackoverflow.com/questions/29682245/… 看看这个,我认为使用“sketchyTech”的方式可以解决你的问题
  • @IBAction func showPdf(_ sender: Any) { let req = NSURLRequest(url: getPathOfPdfFile()) webView.load(req as URLRequest) } // 在模拟器中有效
  • 这个问题好像是subView设置错误造成的。通过添加 subView 问题消失了。如何正确管理这个并且在模拟器中不需要添加子视图?
【解决方案2】:

PDF 文件位于默认文档文件夹中。 对 webView 的任何加载都可以正常工作,但不能加载 PDF 文件。 奇怪的是,同样的代码在模拟器中也能运行。

【讨论】:

  • 完全相同的问题。 webView.load(urlRequest) 在模拟器 (12.0) 上完美运行;但在 iPad (11.4) 上,我只得到包含 web 视图的视图以及该视图中的按钮。但是 webView 没有加载。代码很简单: let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] let filePath = "(documentsPath)/(filename).pdf" let url = NSURL(fileURLWithPath: filePath) let urlRequest = URLRequest(url: url as URL) webView.load(urlRequest) 在 iPad 上,url 显示为 url file:///var/mobile/Containers
【解决方案3】:

对于 Swift 3 使用这个

let url = URL(fileURLWithPath: filePath)
let urlRequest = URLRequest(url: url)
webView?.loadRequest(urlRequest)

【讨论】:

    猜你喜欢
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多