Ali Alebrahim Ali Alebrahim - 2 months ago 6x
Swift Question

Removing NavigationController Programmatically

the application contains more than one navigation controller. (example below)

NavigationController1 ----> ViewController1 ---> TabBarController -->
NavigationController2 ----> ViewController2

whenever ViewController1 willDisappear i remove the NavigationController using

the problem im facing whenever ViewController2 loads. i just see a black screen nothing else. what might the problem be?

and what is the best way to remove the navigationController?


The black screen is nothing but UIWindow. When you are removing NavigationController , the windows doesn't have any NavigationController. So you will have to set NavigationController for window as soon as you remove your first NavigationController.

You can try like this:

 let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate

 appDelegate.window?.rootViewController = YOUR_NAVIGATION_CONTROLLER_OBJECT;