ios - 如何在 UIDocumentPickerViewController 中设置要选择的最大文件数

标签 ios swift

我需要设置一些可以通过启用 UIDocumentPickerViewController allowsMultipleSelection 来选择的文件,但是我没有找到任何可以用来设置它的属性。

有可能吗?

最佳答案

为此,您需要实现 UIDocumentPickerDelegatedidPickDocumentsAt。它看起来像这样:

class YourViewController: UIDocumentPickerViewController {
    let maxDocs = 3

    override func viewDidLoad() {
        super.viewDidLoad()
        delegate = self
    }
}

extension YourViewController: UIDocumentPickerDelegate {
    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {

        // check to make sure you haven't hit your document cap specified above
        guard urls.count < maxDocs else { return }

        // if you pass the guard, business as usual
    }
}

我以前没有上过这门课,所以可能会有一些粗糙的边缘,但这是诗人如何做的物理学方法。您可能需要对其进行一些改进,因为我不确定委托(delegate)方法的 URL 从何而来。您可以在调用此方法时插入断点并执行 po urls 以查看其中的内容。

在查看可用于此类的委托(delegate)方法时,我没有看到用于选择单个文档的委托(delegate)方法,因此您需要仔细研究以了解作为委托(delegate)方法中的参数的 URL 数组发生了什么并计算出处理 selected 和 !selected 之间的状态切换需要做多少簿记工作。

关于ios - 如何在 UIDocumentPickerViewController 中设置要选择的最大文件数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57232162/

相关文章:

html - 防止 iOS 上的溢出/橡皮筋滚动

ios - 核心数据不断创建正在保存的文档...文件夹

ios - 在 MapView 中搜索注释

swift - 如何使用 vapor 3.x 构建 vapor 工具箱

Swift - Result.Success 调用中的额外参数

ios - 初始化后如何更改按钮的位置?

ios - 应用程序后台刷新ios9 swift

ios - 用 TextField 中的小数分隔符替换逗号

ios - swift 中的 alertControllers

swift - 更改 TabView 指示器 SwiftUI