一个控制器与两个导航栏

我使用2 UINavigationController s,一切都很好,除了当我返回到其他UINavigationController中的前一个控制器我有它的导航栏+前一个控制器的导航栏,例如:

 Navigation Controller1 => A controller => B controller => Navigation Controller2=> C controller. 

当我从C控制器继续到A控制器时,我有导航控制器1和2的导航栏。我试图让我离开C控​​制器:

 -(void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:(BOOL)animated]; NSLog(@"Disappeared!"); [self.navigationController setNavigationBarHidden:YES]; } 

但我总是有同样的问题。 任何提示,想法? 感谢您的帮助。

我严重怀疑你需要两个导航控制器,但如果你认为你需要,你可以通过在适当的视图控制器中调用setNavigationBarHidden:animated: self.navigationController来隐藏一个控制器的导航栏。

你为什么要互相推送UINavigationControllers? 这不是一个好的iOS编程习惯。 您可以将第二个导航控制器作为第一导航的modal controller 。 控制器,并在完成任务后将其解除。