iOS使用TabBar更改显示的视图

时间:2013-03-05 16:08:30

标签: ios uistoryboard xcode-storyboard

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

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

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

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

也许我会以一种糟糕的方式改变观点,或者是否有办法让故事板发挥得更好?

1 个答案:

答案 0 :(得分:0)

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

  • TabBarController A - 您的主要导航,假设它有3个标签A1,A2,A3
  • TabBarController B - 嵌套在主导航的标签页(例如A3)中,它有2个标签B1,B2
  • B1 - 滚动视图
  • B2 - 一个tableView

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

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

注意 - 为了将TableViewController链接到故事板中的TabBarController,您可以控制 - 从TabBarController拖动到TableViewController,并从弹出菜单中选择“Relationship segue - view controllers”。

enter image description here