无法使用 UIDocumentPickerViewController 选择多个文件

Posted

技术标签:

【中文标题】无法使用 UIDocumentPickerViewController 选择多个文件【英文标题】:Not able to select multiple files using UIDocumentPickerViewController 【发布时间】:2017-11-01 10:46:02 【问题描述】:

我正在尝试使用 UIDocumentPickerViewController 从文件应用程序中一次导入/选择多个文件。 尝试设置 allowsMultipleSelection = true,但在显示选择器时仍然没有“Select”选项。

代码 sn-p:

UIDocumentPickerViewController *dvc = [[UIDocumentPickerViewController alloc]initWithDocumentTypes:arrContents inMode:UIDocumentPickerModeImport];
dvc.delegate = self;
dvc.allowsMultipleSelection = true;
[self presentViewController:dvc animated:true completion:nil];

截图:

【问题讨论】:

【参考方案1】:

这是 Apple 需要修复的错误。您可以使用此解决方法。如果您将animated: 设置为YES,它只会在您第一次显示文档选择器时起作用。

目标-C:

[self presentViewController:dvc animated:NO completion:^
    if (@available(ios 11.0, *)) 
        dvc.allowsMultipleSelection = YES;
    
];

斯威夫特 4:

self.present(dvc, animated: false) 
    if #available(iOS 11.0, *) 
        dvc.allowsMultipleSelection = true;
    

【讨论】:

有时您需要在 iPad 上显示“选择”按钮之前在“最近”和“浏览”之间切换。如果您将文档选择器显示为表单,它应该立即可见。 但这确实需要Apple解决。我已经提交了雷达。你也应该这样做! 确保使用documentPicker:didPickDocumentsAtURLs: 而不是documentPicker:didPickDocumentAtURL: 这在 iOS 14 上怎么还没解决!?此外,答案似乎不适用于 iOS 14... 原来这是一种行为改变。请参考“iOS”部分,这里:github.com/DelphiWorlds/Kastri/blob/master/Demos/FilesSelector/…

以上是关于无法使用 UIDocumentPickerViewController 选择多个文件的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 StorageClass 配置卷 - 无法获取存储帐户的存储密钥

Worklight Studio 和本地开发,有时无法使用 Java 类,有时无法使用 HTML 文件

ADB无法使用解决办法

Ubuntu 80端口无法使用-非root用户无法使用1024以下端口

无法在 SQL Server 视图中使用工作查询:“IS”无法识别“>”无法识别

LINUX下的mail\mailx为啥无法使用外部SMTP发邮件