gpt4 book ai didi

ios - 我想要一个没有 UITabBar 的 UITabBarController

转载 作者:行者123 更新时间:2023-11-29 13:08:25 24 4
gpt4 key购买 nike

我正在 iPad 上构建类似于 UISplitView 的东西。但是“主”面板会有按钮,而不是列表。

详细信息面板最多有 7 个不同的屏幕(对应于主面板中的按钮)。

所以,我想做的是在 InterfaceBuilder 中构建一个 UITabBarController(没有其他原因,只是它很容易查看)。但是随后在“主” View 中按下每个按钮都会告诉选项卡栏 Controller 显示不同的面板。

这可以做到吗,还是这种方法很愚蠢?我想我可以创建一个容器 View ,并交换 View Controller 。但是在 IB 中使用 UITabBarController 可以很明显地(从视觉上)看出这些 View 都是相互连接的。

感谢您的任何建议。

最佳答案

我做了同样的事情,但我无法以干净合法的方式隐藏标签栏。

因此,我决定改变方法:仅将 Storyboard 中的 UITabBar 用作连接的“占位符”,并填充我的 SplitController 的 viewControllers 数组,然后在加载我的 SplitController 时,以编程方式加载Storyboard 中的 UITabBarController,复制 viewControllers 数组的内容,最后关闭 UITabBarController。

使用这种方法,您只需管理一个 VC 与另一个 VC 之间的转换,但您将拥有:

  • 可以从 Storyboard 中设置 viewControllers(恕我直言,这是最好的部分)
  • 可以将 tabBarItem 用作菜单 Controller 的图标

所以,为了更加示意性:

  • 使用 NSArray* viewControllers 实例变量创建您的 SplitController 实例
  • 您可以将 initWithTabBarController: 实例方法添加到您的 SplitController 并传递以编程方式加载的 tabBarController 实例。
  • initWithTabBarController 方法中,使用 tabBarController.viewControllers 属性填充 viewControllers 数组。现在您可以“丢弃”您的选项卡栏 Controller 实例,您不需要它
  • 您必须自己管理从一个 Controller 到另一个 Controller 的转换。为此,我建议您使用带有容器 View Controller 的主视图。

我认为这种方法对于拥有干净且可读的 Storyboard 非常有用,我正在更新我的所有项目以使用它。

问候法比奥

关于ios - 我想要一个没有 UITabBar 的 UITabBarController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17971408/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com