【问题标题】:iOS Use TabBar to change displayed viewiOS 使用 TabBar 改变显示的视图
【发布时间】:2013-03-05 16:08:30
【问题描述】:

我的主导航有一个主 TabBarController。在 1 个选项卡下,我有一个控制器,顶部有另一个 TabBar。如果可能,我希望能够使用此 TabBar 在同一控制器内的 2 个视图之间切换。

我的想法是在我的故事板上有一个 ScrollView 和一个 TableView,然后在选择适当的选项卡时在 2 个主视图上使用 setHidden:(切换 1 个隐藏和另一个显示)。

但问题是,在故事板中,我永远无法让他们玩得很好。当我尝试定位 1 个视图时,它总是成为它后面的视图的子视图。例如,我的 ScrollView 定位良好,但是当我将 TableView 移动到位时,TableView 成为 ScrollView 的子项 - 因此,如果我隐藏 ScrollView,我将永远无法取消隐藏 TableView。

在情节提要左侧的场景表下,我可以将视图定位为都是主视图的子视图(正确),而 ScrollView 或 TableView 不会成为另一个的子视图(正确)。但是,每当我这样做时,我所做的定位就会丢失,并且所有东西都在错误地浮动。

也许我正在以一种糟糕的方式来处理这种观点的改变,或者有没有办法让故事板发挥得很好?

【问题讨论】:

    标签: ios uistoryboard xcode-storyboard


    【解决方案1】:

    如果我理解正确,您需要以下内容:

    • TabBarController A - 您的主要导航,假设它有 3 个选项卡 A1、A2、A3
    • TabBarController B - 嵌套在主导航的一个选项卡(例如 A3)中,它有 2 个选项卡 B1、B2
    • B1 - 滚动视图
    • B2 - 一个表格视图

    为此,您无需设置隐藏,只需使用 TabBarController B 以与 TabBarController A 相同的方式呈现视图。

    下面的截图显示了故事板布局:

    注意 - 为了将 TableViewController 链接到情节提要中的 TabBarController,您可以从 TabBarController 控制并拖动到 TableViewController,然后从弹出菜单中选择“关系转场 - 视图控制器”。

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2021-11-19
      • 2019-11-27
      • 2013-12-28
      • 1970-01-01
      • 2016-11-08
      • 2014-05-01
      相关资源
      最近更新 更多