让我们想象一下这个场景:
的UITabBarController - UITabBar - 选项卡1:查看控制器A. - 选项卡2:查看控制器B
当我点击View Controller A时,我想推送另一个UITabBarController:
的UITabBarController -UITabBar - 选项卡1:查看控制器1 - 选项卡2:查看控制器2 - 选项卡3:查看控制器3
这可能吗?要让UITabBarController将另一个UITabBarController压入视图堆栈?
答案 0 :(得分:0)
当然,我只是将它们叠加在界面构建器中。有一些帧偏移问题,但你可以看到堆叠的tabbars。此外,选择其他选项卡时,选项卡会取消堆栈。我还必须确保第一个标签的视图已添加到窗口的视图中并以IBOutlet
形式连接,否则应该这样做。
答案 1 :(得分:0)
你当然可以这样做,但我会重新考虑你的设计。选择UITabBar项目并更改标签栏本身会违反Human Interface Guidelines。此外,在您的示例中,您如何返回到根视图控制器?
也许您应该使用UITableView,当您点击一个单元格时,它会推送一个包含UITabBarController的视图控制器(从技术上讲,这也可能违背HIG,因为标签栏在整个应用程序中应该是相同的,但我有足够的应用程序采用这个,它看起来很优雅)。所以使用你的例子:
RootViewController的: 推出UINavigationController与包含两个单元格的UITableView: “cell1”& “小区2”
- 点击“cell1”按下包含UITabBar(I)的视图控制器,其中包含“View Controller A”和“View Controller B”。
- 点击“cell2”按下包含UITabBar(II)的视图控制器,其中包含“View Controller 1”,“View Controller 2”和“View Controller 3”。
在每种情况下,您都会得到一个“后退”按钮,而UITabBar本身不需要更改。