呈现一个新的视图控制器保持标签栏

我目前正在开发支持iOS6 +的iPhone应用程序。 应用程序的结构有一个UITabBarController作为根控制器,并为其分配了许多视图控制器。 其中一个选项卡是一个UITableViewController,其中包含一个项目列表,选中后,使用推送序列显示该项目的详细视图。

但是,我还有另一个允许QR扫描的屏幕。 当扫描QR码时,处理结果以检索id,然后我想显示匹配项目的详细视图页面(如上所述)。

我可以使用QR扫描视图控制器中的以下代码来显示它,但这会丢失标签栏以及此时导航的任何希望。

[self presentViewController:detailController animated:YES completion:nil]; 

有什么方法可以呈现详细视图控制器,但仍然保留我在通过UITableView路线时获得的标签栏(理想情况下是导航栏)? 到目前为止我发现的所有内容都引用了presentModalViewController,但从iOS6开始,它似乎已被弃用,并被presentViewController取代。

提前感谢您的任何帮助或建议,

PhilHalf

模态视图将覆盖所有视图,最终替换tabBarController,NavigationCOntroller等…

 Modal view : Can works for all view controllers Is over all other view and need to be pop programatically (adding a button back manually for example) Push View : Only works in navigation controllers Add automatically a back button in the navigationController 

我相信你想要的是一个pushView,它将集成在你的navigationController中:

 [self.navigationController pushViewController:viewController animated:YES]; 

用这个

 [self.navigationController pushViewController:detailController animated:YES completion:nil]; 

它将显示底部标签栏的详细信息视图以及顶部的导航栏,如果您不希望顶部的导航栏只是隐藏它与hide属性。