以下是Swift 4.0实现展示手机内所有pdf文档并让用户选择的示例代码:

  1. 导入必要的库
import UIKit
import QuickLook
  1. 创建ViewController并遵循QLPreviewControllerDataSource和QLPreviewControllerDelegate协议
class ViewController: UIViewController, QLPreviewControllerDataSource, QLPreviewControllerDelegate {
    
    // ...

}
  1. 创建一个数组来存储所有的pdf文件路径
var pdfFiles: [URL] = []
  1. 在viewDidLoad函数中获取所有pdf文件路径
override func viewDidLoad() {
    super.viewDidLoad()
    
    // 获取所有pdf文件路径
    let fileManager = FileManager.default
    let documentsUrl = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]
    do {
        let files = try fileManager.contentsOfDirectory(at: documentsUrl, includingPropertiesForKeys: nil)
        for file in files {
            if file.pathExtension == "pdf" {
                pdfFiles.append(file)
            }
        }
    } catch {
        print(error)
    }
}
  1. 实现QLPreviewControllerDataSource协议中的方法
func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
    return pdfFiles.count
}

func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
    return pdfFiles[index] as QLPreviewItem
}
  1. 实现一个方法来打开QLPreviewController
func openPreviewController() {
    let previewController = QLPreviewController()
    previewController.dataSource = self
    previewController.delegate = self
    navigationController?.pushViewController(previewController, animated: true)
}
  1. 在需要展示pdf文件的地方调用openPreviewController方法
openPreviewController()
  1. 运行程序,您将看到所有pdf文件的列表。选择一个文件,它将在QLPreviewController中打开。
swift40 实现展示手机内所有pdf文档让用户选择

原文地址: https://www.cveoy.top/t/topic/b9CL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录