我在应用程序中集成了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
}
})
答案 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)
}