0

Xamarin.Forms应用程序中,我使用UIDocumentPickerViewController向用户显示文件选择器。它有一个属性DirectoryUrl可以在 iOS 13.0 及更高版本中使用。基本上根据文档,此属性设置文件选择器的初始目录。

文档链接: https ://developer.apple.com/documentation/uikit/uidocumentpickerviewcontroller/3183918-directoryurl

如果我设置DirectoryUrl属性,那么它会打开文件选择器,其中最初设置的目录在文件选择器中选择了浏览选项卡,但顶部看不到取消按钮。

当用户转到最近的选项卡并返回浏览选项卡时,只有取消按钮可见。

如果用户使用最近选项卡上的取消按钮取消文件选择器,则浏览选项卡上的取消按钮也将不可见。

代码:

var allowedUtis = new string[]
{
    UTType.Content,
    UTType.Item,
    UTType.Data
};

if (allowedTypes != null)
{
    allowedUtis = allowedTypes;
}

var documentPicker = new UIDocumentPickerViewController(allowedUtis, UIDocumentPickerMode.Import);
if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
{
    // DirectoryUrl property only works in iOS SDK 13.0+
    // _documentsPath is path for folder
    docPicker.DirectoryUrl = new NSUrl(_documentsPath, true);
}
documentPicker.DidPickDocument += this.DocumentPicker_DidPickDocument;
documentPicker.WasCancelled += this.DocumentPicker_WasCancelled;
documentPicker.DidPickDocumentAtUrls += this.DocumentPicker_DidPickDocumentAtUrls;

UIViewController viewController = GetActiveViewController();
viewController.PresentViewController(documentPicker, true, null);
4

1 回答 1

0

这是我已向 Apple 报告的已知错误。遗憾的是,它在 iOS 14 测试版中仍未得到修复。

于 2020-08-21T17:28:10.757 回答