0

我已经集成UIDocumentPickerViewController在应用程序中。我可以从文件应用程序访问文件。还需要限制从驱动器和云中选择文件夹。

当我使用“allowsMultipleSelection”启用多个文件“选择”选项时。当用户在 documentPickerViewController 中选择“选择”选项时,我不想让用户选择文件夹。

如何限制用户选择“文件夹”?

用于启动 Files 应用程序的代码是:

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
    }
})
4

1 回答 1

2

您不能限制文件夹选择,但可以忽略所选文件夹 URL。

  • 每个文件夹 url 的末尾都会有“/”字符,因此您可以使用下面的代码进行比较并跳过它。 斯威夫特 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)
    }
    
于 2018-02-13T12:59:17.830 回答