我有以下结构:
mainVC
中,我给出了一个模态viewController modalVC
:let modalVC: ModalVC = ModalVC()
modalVC.modalPresentationStyle = .overCurrentContext
modalVC.modalTransitionStyle = .coverVertical
self.present(modalVC, animated: false, completion: nil)
modalVC
中,我展示了另一个viewController chatVC
,但是这次没有.overCurrentContext
选项:let chatVC: ChatVC = ChatVC()
self.present(chatVC, animated: false, completion: nil)
在这一点上,我有以下几点:
mainVC
--present模态-> modalVC
--present-> chatVC
我想关闭
chatVC
和modalVC
以再次显示mainVC
。我试过了:
self.presentingViewController?.presentingViewController?.dismiss(animated: false, completion: nil)
没有成功
有任何想法吗?提前致谢
最佳答案
有时有些冗长可能会有所帮助...有助于了解正在发生的事情与您期望发生的事情。像这样尝试:
if let myPresenter = self.presentingViewController {
if let hisPresenter = myPresenter.presentingViewController {
hisPresenter.dismiss(animated: false, completion: nil)
}
}
如果这不起作用,那么您至少可以逐步调试以找出不正确的地方。