Posiadam VC "A", które prezentują VC "B" modalnie. B przedstawia protokół UIDocumentMenuViewController
UIDocumentMenuDelegate
jest realizowany w B.UIDocumentMenuViewController odrzuca prezentowanie kontrolera widoku
Jak tylko documentMenuWasCancelled(_ documentMenu:)
lub documentMenu(_:didPickDocumentPicker:)
pobiera nazywany dismiss(animated:completion:)
B pobiera nazywane i nie mam pojęcia dlaczego.
Oto mój kod
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")
}
Jak widać ja nic realizowanej funkcji delegata zrobić. A jednak B zostaje zwolniony. Nie rozumiem tego.
Czy możesz wysłać więcej projektu do lub przynajmniej pełnych kontrolerów ViewController, które tam masz? –
W tej chwili nie mogę tego odtworzyć: D – lukwuerz
może być problem z prezentacją obu kontrolerów. –