mEl*_*ing 3 xcode objective-c storyboard uitabbarcontroller uinavigationcontroller
看起来这应该很容易理解,但今天下午我没有运气.我把这个问题的快速,简化的故事板模型汇总在一起.
基本上,我希望下面的表视图控制器也在标签栏控制器中(除了已经存在的导航控制器).选项卡将在两个表视图控制器之间切换.
现在,带按钮的视图控制器充当一种菜单.每个按钮通向一个表视图控制器.理想情况下,此视图控制器不会显示标签栏,并且只能从表视图控制器的导航栏上的后退按钮访问.
我尝试了一些嵌入tabbarcontrollers的不同方法,但没有一种方法可以产生预期的结果:
- 我尝试选择两个表视图控制器并将它们嵌入到选项卡视图控制器中.标签栏中没有显示标签栏,并显示"无法访问的场景"警告.
- 我尝试将初始导航控制器嵌入到tabbarcontroller中.这将为第一个"菜单"页面创建一个选项卡条目.一旦我将tableviews连接到tabview,它也会导致push segues出现问题.
我可以在故事板上实现一些程序化选项,我只选择了这个项目的故事板,因为它是一个相对简单的数据表示.
解决这个问题的正确方法是什么?谢谢!

标签栏控制器需要是视图层次结构的根视图控制器.它违背了HIG和Apple的标准,将标签栏控制器放在任何其他类型的容器控制器中.
来自Apple文档:
部署选项卡栏界面时,必须将此视图安装为窗口的根目录.与其他视图控制器不同,标签栏界面永远不应该作为另一个视图控制器的子项安装.
所以,这里的底线是你需要重新考虑你的设计.一种选择是将UITabBarController窗口设置为视图的根视图,然后将每个UITableViewControllers放在一个内部UINavigationController,它放在窗口内部UITabBarController.通过这种方式,你仍然可以获得导航栏,并保持在Apple的设计指南内(你也不会得到那些讨厌的警告,如果你试图安装UITabBarController除根视图以外的任何东西,Apple现在甚至会抛出异常窗口).
| 归档时间: |
|
| 查看次数: |
6864 次 |
| 最近记录: |