在Swift 4中显示PDF文件

GTe*_*Goh 2 pdf webview ios swift

import UIKit
import WebKit

class ViewController: UIViewController, UIDocumentInteractionControllerDelegate {

    var docController: UIDocumentInteractionController!

    override func viewDidLoad() {
        super.viewDidLoad()

        docController = UIDocumentInteractionController.init(url: URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(urlVal!))
        docController.delegate = self
        docController.presentPreview(animated: true)       
    }


    func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
            return self
     }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码我无法显示pdf文件。有人可以帮忙吗?

iOS*_*eam 5

通过查看您的代码,似乎您错过了添加UIDocumentInteractionControllerDelegate委托方法。

    class ViewController: UIViewController,UIDocumentInteractionControllerDelegate {
        override func viewDidLoad() {
            super.viewDidLoad()

           var docController = UIDocumentInteractionController.init(url: URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(urlVal!))
            docController.delegate = self
            docController.presentPreview(animated: true)
        }
        func documentInteractionControllerViewControllerForPreview(_ controller: UIDocumentInteractionController) -> UIViewController {
            return self
        }
    }
Run Code Online (Sandbox Code Playgroud)

要么

您也可以通过将PDF加载到WKWebView中来查看它。

    override func viewDidLoad() {
        super.viewDidLoad()

        let pdfFilePath = Bundle.main.url(forResource: "iostutorial", withExtension: "pdf")
        let urlRequest = URLRequest.init(url: pdfFilePath!)
        webView = WKWebView(frame: self.view.frame)
        webView.load(request)
        self.view.addSubview(webView)

    }
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明