Search code examples
iosswiftuipopovercontroller

Unable to remove child viewcontroller after Navigation


I have added a child viewcontroller to VC1. On tapping a button in child viewcontroller , I am pushing to another viewcontroller , VC2. On tapping back button in VC2 , I need to remove the child viewcontroller but I m unable to do it.Can u pls help me ?

override func viewDidDisappear(_ animated: Bool) {

        let controller = storyboard!.instantiateViewController(withIdentifier: "PopupViewController") as! PopupViewController
        controller.willMove(toParentViewController: nil)
        controller.view.removeFromSuperview()
        controller.removeFromParentViewController()
 }

Solution

  • I added the following in VC1 and it solved my problem

    override func viewWillDisappear(_ animated: Bool) {
    
        for controllers in self.childViewControllers
        {
            controllers.willMove(toParentViewController: nil)
            controllers.view.removeFromSuperview()
            controllers.removeFromParentViewController()
        }
    
    }