我有一个VC "A",它以模态方式呈现VC "B"。B呈现了一个UIDocumentMenuViewController
。
UIDocumentMenuDelegate
协议在B中实现。
一旦调用了documentMenuWasCancelled(_ documentMenu:)
或documentMenu(_:didPickDocumentPicker:)
,就会调用B的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仍被关闭了。我不理解。