Eliminar NavigationController mediante programación

La aplicación contiene más de un controlador de navegación. (ejemplo a continuación)

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

cada vez que ViewController1 desaparezca, elimino el NavigationController usandoNavigationController.view.removeFromSuperview

el problema al que me enfrento cada vez que se carga ViewController2. Acabo de ver una pantalla en negro nada más. ¿Cuál podría ser el problema?

¿Cuál es la mejor manera de eliminar el NavigationController?

Respuestas a la pregunta(2)

Su respuesta a la pregunta