【问题标题】:Branching off from a tab bar controller?从标签栏控制器分支?
【发布时间】:2016-09-28 21:32:50
【问题描述】:

我有 3 个视图控制器。两个我已经连接到一个标签栏控制器和一个当用户在我的标签视图中选择第二个视图控制器上的单元格时我想要访问的一个。

我希望当用户在第三个“详细信息”页面上点击“返回”时将用户带回第二个视图。

当我通过添加一个按钮并继续返回第二个 VC 来执行此操作时,标签栏就消失了。我尝试在 viewDidAppear 中取消隐藏标签栏,但我想离开标签栏控制器会打乱导航。

我尝试创建一个类似于“didHitBack”的变量,并在第三个视图的“后退”按钮上创建一个返回选项卡栏控制器的转场,如果“didHitBack”为真,我会这样做

_ self.tabBarController?.selectedIndex = 1

这将我带到第二页,但它正在加载第一个视图,然后转到看起来很糟糕的第二页。

我在想也许有一种方法可以执行“didHitBack”并将标签栏的初始视图控制器设置为第二个或其他什么,但这一切似乎都非常错误。

有没有“正确”的方法来做到这一点?

回顾一下,我有连接到选项卡栏控制器的 VC1 和 VC2,我在 VC2 上有一个 tableview,在 didSelectRow 我要去 VC3,我不想成为选项卡式视图控制器的一部分,当我回击 VC3 时,我想回到 VC2。

【问题讨论】:

    标签: ios swift uitabbarcontroller


    【解决方案1】:

    如果你想构建一个导航堆栈,你应该将你的视图控制器嵌入到UINavigationController

    因此您的标签栏将连接到 VC1 和 NavVC。 NavVC 的根视图控制器是 VC2。

    然后,您可以在 tabBar 的范围内使用导航控制器(或弹出视图控制器返回)将新的视图控制器推送到堆栈上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 2014-01-06
      • 1970-01-01
      • 2019-10-03
      • 1970-01-01
      相关资源
      最近更新 更多