通过UINavigationViewController切换同级视图

我正在使用NavigationViewController在主视图和详细视图之间导航。 现在我想能够切换到兄弟细节视图,而不先显示主视图,我已经尝试做popViewController和pushViewController在相同的方法或popViewController在详细视图中,然后pushViewController mater的viewDidLoad后popViewController但它不会工作 – 视图只是返回到主视图,而不切换到细节。 任何想法该怎么办?

这里build议的解决scheme不能工作,据我所知: 切换内容视图问题

我从来没有尝试过,但这应该工作:

// create instance of new view controller MyViewController *myViewController = [[MyViewController alloc] init]; // get current stack of viewControllers from navigation controller NSMutableArray *viewControllers = [[self.navigationController viewControllers] mutableCopy]; // replace top view controller in stack [viewControllers replaceObjectAtIndex:([viewControllers count] - 1) withObject:myViewController]; // set modified stack of view controllers in navigation controller [self.navigationController setViewControllers:viewControllers animated:YES]; 

根据文档 ,你的应用程序将通过推动animation转换到新的视图控制器,然后当点击后退button时,它就好像您从中推送的视图控制器从不存在。 (如果您不想要animation,请使用animated:NO