如何在多个选择选项时限制为UIDocumentPickerViewController选择文件夹

时间:2018-02-13 10:55:51

标签: ios swift uidocumentpickerviewcontroller

我在应用程序中集成了UIDocumentPickerViewController。我可以从Files应用程序访问这些文件。需要限制驱动器和云的文件夹选择。

当我启用多个文件"选择"使用" allowMultipleSelection"的选项。当用户选择"选择" documentPickerViewController中的选项,我不想让用户选择文件夹。

如何限制用户选择"文件夹"?。

用于启动文件应用的代码是:

let documentPicker: UIDocumentPickerViewController = UIDocumentPickerViewController(documentTypes: ["public.data"], in: UIDocumentPickerMode.import)
documentPicker.delegate = self
documentPicker.modalPresentationStyle = UIModalPresentationStyle.fullScreen
self.present(documentPicker, animated: true, completion: {
    if #available(iOS 11.0, *) {
        documentPicker.allowsMultipleSelection = true
    } else {
        // Fallback on earlier versions
    }
})

1 个答案:

答案 0 :(得分:1)

您无法限制文件夹选择,但可以忽略所选的文件夹URL。

  • 每个文件夹的结尾都会有“/”字符,所以你可以使用下面的代码进行比较并跳过它。 Swift 4

    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        var arrFilesURL = [URL]()
        arrFilesURL = urls.filter { (url) -> Bool in
            return url.absoluteString.last != "/"
        }
        controller.dismiss(animated: true, completion: nil)
    }