iOS - UIDocumentMenuViewController, представленный из WKWebView, отклоняет родительский контроллер представления - PullRequest
0 голосов
/ 05 февраля 2019

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

  1. Это касается UIDocument Меню ViewController вместо UIDocument Picker 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 вообще не вызывается, но, тем не менее, и контроллер представления выбора файлов, и мое представлениепросмотр контроллера уволен.Поэтому я не уверен, что здесь можно найти правильное решение.

...