我目前正在开发支持iOS6 +的iPhone应用程序。 应用程序的结构有一个UITabBarController作为根控制器,并为其分配了许多视图控制器。其中一个选项卡是一个UITableViewController,其中包含一个项目列表,选中后,使用推送序列显示该项目的详细视图。
但是,我还有另一个允许QR扫描的屏幕。扫描QR码时,处理结果以检索ID,然后我想显示匹配项目的详细视图页面(如上所述)。
我可以在QR扫描视图控制器中使用以下代码显示它,但此时会丢失标签栏和任何导航希望。
[self presentViewController:detailController animated:YES completion:nil];
有什么方法可以呈现详细视图控制器,但仍然保留我在通过UITableView路线时获得的标签栏(理想情况下是导航栏)? 到目前为止,我发现的所有内容都引用了presentModalViewController,但从iOS6开始,它似乎已被弃用,并被presentViewController取代。
提前感谢您的任何帮助或建议,
PhilHalf
答案 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属性。