Кнопка отмены недоступна в UIDocumentPickerViewController, если задано свойство DirectoryUrl - PullRequest
0 голосов
/ 05 мая 2020

В приложении 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);

1 Ответ

0 голосов
/ 21 августа 2020

Это известная ошибка, о которой я сообщил Apple. К сожалению, это все еще не исправлено в бета-версии iOS 14.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...