【问题标题】:Swift: Putting Tab bar in front of the viewSwift:将标签栏放在视图前面
【发布时间】:2017-03-17 20:21:46
【问题描述】:

在调用 segue 以返回到以前的视图控制器之一后,我一直在努力隐藏我的标签栏。

我读到在 segue 之后,视图覆盖了标签栏。有没有办法将标签栏放在视图的顶部,使其可见?

我尝试了所有其他方法以使标签栏出现在 segue 之后,但它不起作用..

【问题讨论】:

  • 你是从 A 转到 B,然后用另一个 segue 从 B 回到 A 吗?
  • 我有 3 个视图控制器(A、B 和 C)。 A 和 B 在选项卡栏上 - A 从 API 生成数据并将其显示在视图控制器 C 上。C 将其添加到作为选项卡栏一部分的 B 上的 tableview 中。使用 add segue 后,标签栏不再显示。

标签: ios swift uitabbarcontroller uitabbar


【解决方案1】:

如果您想要隐藏任何UIViewControllerUITabBar,您只需检查属性检查器中的属性,如下所示,“在推送时隐藏底部栏”复选框。对于没有检查此属性的任何UIViewController,只要它出现,UITabBar 就会显示出来。

【讨论】:

  • 感谢您的回答!不幸的是,它没有被选中。我还尝试嵌入导航控制器等。我几乎要创建另一个具有相同数据的视图控制器来解决这个问题:(
【解决方案2】:

这是因为您在调用 segue 时正在创建另一个未嵌入标签栏中的 B 实例

假设您在导航控制器中嵌入了 A 和 C,并且 B 是标签栏中的第二个 vc,您需要做的是:

1.获取带有self.tabBarController?.viewControllers[1] as! B的vc B并将其数据分配到那里

2.用self.tabBarController?.selectedIndex = 1更改标签

如果 C 是 A 的模态 segue,只需使用委托/展开回 A 并执行上述操作

【讨论】:

    猜你喜欢
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 2012-02-13
    • 2016-10-07
    • 2017-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多