2

我知道,传统上,如果我创建自己的UITabBarController,我可以ViewController使用每个选项卡将新的推送到堆栈上,并保持栏在屏幕底部可见。然而,我正在使用我的第一个故事板项目。

Storyboard 不允许我将每个选项卡的初始视图设置为UINavigationController. 我在这里有什么选择?

4

1 回答 1

0

要将 Tab Bar 保持在新视图的底部,您只需将第一个 ViewController 嵌入到 NavigationController 中,然后使用 Push segues 转换到之后添加的任何其他 ViewController。

如果使用 TabBarApplication 模板:

  1. 选择 FirstViewController。
  2. 转到编辑器选项卡并选择“嵌入”下拉菜单。
  3. 选择“导航控制器。
  4. 创建从 FirstViewController 到之后添加的任何新 Viewcontroller 的 Push segue。

如果使用 SingleViewApplication 模板:

  1. 创建一个 UIViewController
  2. 选择 Viewcontroller 并将其嵌入到 NavigationContoller 中,如上所述。
  3. 选择新的 NavigationController,转到 Editor 并单击“Embed In”,然后选择 TabBarController
  4. 为另一个选项卡创建另一个 ViewController,将其嵌入到 NavigationController 中,然后从 TabBarController 按住 Control-Click-Drag 到 NavigationController,然后在“relationship segue”部分中选择“View Controller”。

据我所知,这只能在使用 Push segues 时完成。一旦添加了模态视图,标签栏就会消失。但是,如果您不希望有导航栏,则可以在使用 push segue 时隐藏导航栏。然后关闭它,只需使用一些按钮(或功能)将其关闭,如下所示:

[self.navigationController popViewControllerAnimated:YES];

或者,如果您使用的是 iOS 6,则可以使用 unwind Segue。

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

对于故事板的帮助,本教程 对我来说非常有用。

于 2013-07-13T20:48:09.063 回答