2017-07-31 37 views
0

我有以下結構:如何解僱overCurrentContext模態viewController及其子項?

  • 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

我要解僱chatVCmodalVC再次顯示mainVC

我想:

self.presentingViewController?.presentingViewController?.dismiss(animated: false, completion: nil) 

沒有成功。

任何想法?在此先感謝

+0

確保self.presentingViewController?.presentingViewController是mainVC。 – HMHero

回答

1

它有時可以幫助有點冗長......有助於瞭解正在發生的事情與您期望發生的事情。像這樣試試吧:

if let myPresenter = self.presentingViewController { 

     if let hisPresenter = myPresenter.presentingViewController { 

      hisPresenter.dismiss(animated: false, completion: nil) 

     } 

    } 

如果那不「工作」,你至少可以在調試中逐步瞭解哪些是不正確的。

相關問題