我正在构建类似于iPad上的UISplitView的东西。但是“主”面板会有按钮,而不是列表。
详细信息面板最多有7个不同的屏幕(对应于主窗格中的按钮)。
所以,我想要做的是在InterfaceBuilder中构建一个UITabBarController(除了容易查看之外别无其他原因)。但是,按下“主”视图中的每个按钮都会告诉标签栏控制器显示不同的面板。
可以这样做,还是这种方法很傻?我想我可以创建一个容器视图,并交换视图控制器。但是在IB中使用UITabBarController可以明显(直观地)看到这些视图都已连接。
感谢您的任何建议。
答案 0 :(得分:1)
我做了同样的事情,但我无法以干净合法的方式隐藏标签栏。
所以,我决定改变方法:仅在故事板中使用UITabBar作为"占位符"为了连接并填充我的SplitController的viewControllers
数组,然后在加载我的SplitController时,以编程方式从Storyboard加载UITabBarController,复制viewControllers
数组的内容,最后,关闭UITabBarController。 / p>
使用这种方法,您只需要管理VC和另一个VC之间的转换,但您将拥有:
viewControllers
的可能性(这是最好的部分imho)tabBarItem
作为菜单控制器的图标所以,更为原理图:
NSArray* viewControllers
实例变量initWithTabBarController:
实例方法,并传递以编程方式加载的tabBarController
实例。initWithTabBarController
方法中,使用viewControllers
属性填充tabBarController.viewControllers
数组。现在你可以"垃圾"你的标签栏控制器实例,你不需要它我认为这种方法很好,有一个干净,可读的故事板,我更新我的所有项目使用它。
此致 法比奥