在视图层次结构中保持UITabBarController可见(故事板)

时间:2013-07-08 05:26:22

标签: ios ios5 uinavigationcontroller storyboard uitabbarcontroller

我知道传统上,如果我创建自己的UITabBarController,我可以使用每个标签将新的ViewController推到堆栈上,并在屏幕底部显示栏。但是,我正在使用我的第一个故事板项目。

故事板不允许我将每个标签的初始视图设置为UINavigationController。我有什么选择?

1 个答案:

答案 0 :(得分:0)

要将标签栏保持在新视图的底部,您只需要在NavigationController中嵌入第一个ViewController,然后使用Push segues过渡到之后添加的任何其他ViewControllers。

如果使用TabBarApplication Template:

  1. 选择FirstViewController。
  2. 转到“编辑器”选项卡,然后选择“嵌入”下拉列表。
  3. 选择“导航控制器。
  4. 从FirstViewController创建Push segue到之后添加的任何新ViewController。
  5. 如果使用SingleViewApplication Template:

    1. 创建UIViewController
    2. 选择Viewcontroller并将其嵌入到NavigationContoller中,如上所述。
    3. 选择新的NavigationController,转到编辑器并单击“嵌入”,然后选择TabBarController
    4. 为另一个选项卡创建另一个ViewController,将其嵌入到NavigationController中并按Tab-Click-Drag从TabBarController拖动到NavigationController,并在“关系segue”部分选择“View Controller”。
    5. 据我所知,这只能在使用Push segues时完成。添加模态视图后,标签栏将立即消失。但是,如果您不希望存在推送栏,则可以在使用推送segue时隐藏导航栏。然后关闭它,只需要一些按钮(或功能)就像这样解除它:

      [self.navigationController popViewControllerAnimated:YES];

      如果你使用的是iOS 6,你可以使用unwind Segue。

      希望这能回答你的问题。如果不清楚,请告诉我。

      有关故事板this tutorial的帮助  对我很好。