кажется, что вы встроили контроллер навигации в контроллер корневого представления, и когда вы переходите от одного Vc к другому, панель навигации такая же, как контроллер представления root с кнопкой назад, и это очевидно, потому что вы встроили контроллер навигации в root просмотр контроллера.
одна вещь, которую вы можете сделать, это вместо того, чтобы делать такую передачу:
self.navigationController?.pushViewController(vc!, animated: true)
Вы можете попробовать;
self.present(vc, animated: true, completion: nil)
этот код представляет ваш контроллер вида B и C без контроллера навигации