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

时间:2013-11-28 10:48:23

标签: ios iphone uiviewcontroller uitabbarcontroller

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

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

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

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

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

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

PhilHalf

2 个答案:

答案 0 :(得分:9)

模态视图将覆盖所有视图,最终取代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];

答案 1 :(得分:1)

使用此

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

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