【问题标题】:Keep UITabBarController Visible in View Hierarchy (Storyboard)在视图层次结构中保持 UITabBarController 可见(故事板)
【发布时间】:2013-07-05 08:58:35
【问题描述】:
我知道,传统上,如果我要创建自己的 UITabBarController,我可以将新的 ViewController 推送到每个选项卡的堆栈中,并保持栏在屏幕底部可见。但是,我正在使用我的第一个故事板项目。
Storyboard 不允许我将每个选项卡的初始视图设置为 UINavigationController。我在这里有什么选择?
【问题讨论】:
标签:
ios
ios5
uinavigationcontroller
storyboard
uitabbarcontroller
【解决方案1】:
要将 Tab Bar 保持在新视图的底部,您只需将第一个 ViewController 嵌入到 NavigationController 中,然后使用 Push segues 转换到您之后添加的任何其他 ViewController。
如果使用 TabBarApplication 模板:
- 选择 FirstViewController。
- 转到编辑器选项卡并选择“嵌入”下拉菜单。
- 选择“导航控制器”。
- 从 FirstViewController 创建一个 Push segue 到您之后添加的任何新 Viewcontroller。
如果使用 SingleViewApplication 模板:
- 创建一个 UIViewController
- 选择 Viewcontroller 并将其嵌入到 NavigationContoller 中,如上所述。
- 选择新的 NavigationController,进入 Editor 并单击“Embed In”,然后选择 TabBarController
- 为另一个选项卡创建另一个 ViewController,将其嵌入到 NavigationController 中,然后通过 Control-Click-Drag 从 TabBarController 拖动到 NavigationController,然后在“relationship segue”部分中选择“View Controller”。
据我所知,这只能在使用 Push segues 时完成。一旦添加了模态视图,标签栏就会消失。但是,如果您不希望有导航栏,则可以在使用 push segue 时隐藏导航栏。然后关闭它,只需有一些按钮(或功能)像这样将其关闭:
[self.navigationController popViewControllerAnimated:YES];
如果您使用的是 iOS 6,也可以使用 unwind Segue。
希望这回答了您的问题。如果不清楚,请告诉我。
关于故事板的帮助this tutorial
对我来说很棒。