Reputation: 647
the application contains more than one navigation controller. (example below)
NavigationController1 ----> ViewController1 ---> TabBarController -->
NavigationController2 ----> ViewController2
whenever ViewController1 willDisappear i remove the NavigationController using NavigationController.view.removeFromSuperview
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?
Upvotes: 4
Views: 2871
Reputation: 2693
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;
Upvotes: 2
Reputation: 1293
May be this can help:
[self.window addSubview:secondNavigationController.view];
Add the view of second navigation controller in the window.
Upvotes: 0