iOS - UIDocumentMenuViewController, представленный из WKWebView, отклоняет родительский контроллер представления

Этот вопрос похож на другие вопросы, подобные этому и этому, с некоторыми отличиями:

  1. Это касается UIDocumentMenu ViewController вместо UIDocumentPicker ViewController. Первое было признано устаревшим в пользу второго, но первое все еще используется ОС на старых устройствах.

  2. Проблема возникает только тогда, когда пользователь использует "Отмена", чтобы закрыть всплывающее окно выбора документа, а не когда он фактически выбирает файл.

Apple, похоже, исправила все эти ошибки в iOS 12, но некоторые все еще остаются в iOS 11.

Как и другие решения, я переопределяю dismissViewControllerAnimated в моем корневом контроллере представления. Он вызывается один раз, когда пользователь нажимает "Библиотека фотографий" или "Обзор", чтобы вызвать соответствующий контроллер представления. В этом случае мы передаем его на суперкласс:

-(void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion {
    if ( self.presentedViewController) {
        [super dismissViewControllerAnimated:flag completion:completion];
    }
}

Но когда пользователь нажимает "Отмена", этот dismissViewControllerAnimated вообще не вызывается, но, тем не менее, и контроллер представления выбора файлов, и мой контроллер представления представления отклоняются. Поэтому я не уверен, что здесь можно найти правильное решение.

0 ответов

Другие вопросы по тегам