簡體   English   中英

我該如何關閉第二個已在第一個vc上模態顯示的第一個vc

[英]how can I dismiss first vc that second has presented modally on the first vc

我有一個名為“ firstVC”的視圖控制器,另一個名為“ secondVC”的視圖控制器。 第二個VC將以模態形式顯示在第一個VC上,當用戶按下第二個VC上的按鈕時,我想關閉第一個VC和第二個VC。

firstVC.dismiss(animated: true, completion: nil)

如果您建議我使用代理,請告訴我如何完全使用它? 我不知道應該在第一個VC中放入什么,或者應該在第二個VC中放入什么

還有一件事

在其他情況下,我需要在firstVC中執行json,並且當json完成時,兩個視圖控制器(firstVC和secondVC)都將被關閉,我該怎么辦呢?

這是使用委托的解決方案:

protocol DismissDelegate{
    func dismissVC()
}

class FirstViewController: UIViewController, DismissDelegate{

    func showSecondVC(){
        let secondVC = SecondViewController()
        secondVC.delegate = self
    }

    func dismissVC(){
        self.dismiss(animated: true, completion: nil)
    }
}


class SecondViewController: UIViewController{
    var delegate: DismissDelegate?

    @IBAction func buttonAction(sender: UIButton){
        self.dismiss(animated: true, completion: nil)
        delegate?.dismissVC()
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM