UIDocumentMenuViewController отклоняет представление контроллера представления

У меня есть VC "A", который представляет VC "B" модально. B представляет UIDocumentMenuViewControllerUIDocumentMenuDelegate Протокол реализован в Б.

Как только documentMenuWasCancelled(_ documentMenu:) или же documentMenu(_:didPickDocumentPicker:) называется dismiss(animated:completion:) Б называется, и я понятия не имею, почему.

Вот мой код

func presentDocumentPicker() {
    let documentTypes = [
        kUTTypeCompositeContent as String,
        kUTTypePDF as String,
        "com.microsoft.word.doc",
        "vnd.openxmlformats-officedocument.wordprocessingml.document"
    ]
    let documentMenuViewController = UIDocumentMenuViewController(documentTypes: documentTypes, in: .import)
    documentMenuViewController.delegate = self
    present(documentMenuViewController, animated: true, completion: nil)
}

// MARK: - Document Menu View Controller Delegate

func documentMenu(_ documentMenu: UIDocumentMenuViewController, didPickDocumentPicker documentPicker: UIDocumentPickerViewController) {
    print("did pick")
}

func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
    print("was cancelled")
}

Как видите, я ничего не делаю в реализованной функции делегата. И все же B уволен. Я не понимаю

1 ответ

Это вызвано documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentAt url: URL) метод, который вызывается при нажатии на действие или при отмене UIDocumentMenuViewController,

Я разместил решение здесь: /questions/2278148/uidocumentpickerviewcontroller-otklonyaet-roditelskij-kontroller-predstavleniya/2278176#2278176

Надеюсь, поможет.

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