【问题标题】:Navigation bar and Tab bar disappears when doing push segue推送 segue 时导航栏和标签栏消失
【发布时间】:2016-02-04 21:20:19
【问题描述】:

我在 XCode 的 InterfaceBuilder 中有以下结构:

  • 标签栏控制器
    • 导航栏控制器
      • 查看控制器 A
      • .. 将 segue 推到..
      • 查看控制器 B

但是,我无法通过 push segue 来保留导航栏和标签栏。它还像模态转场一样从底部开始动画。

这就是我开始转场的方式:

self.performSegueWithIdentifier(DETAIL_MEETING_SEGUE_ID, sender: self)

VC1 和 VC2 都未选中“Hide Bottom Bar on Push”。

在 Interface Builder 中,标签栏和导航栏正确显示。此外,当使用 push set 将 segue 直接从按钮拖动到 VC 2 时,它可以完美运行。

有什么想法吗?

【问题讨论】:

  • 我现在有同样的问题。你找到解决办法了吗?
  • 我在下面写了我是如何解决的。虽然不是最好的解决方案。

标签: uitabbarcontroller uinavigationbar segue uitabbar uistoryboardsegue


【解决方案1】:

在将 VC 的标签栏堆栈嵌入导航控制器后,我遇到了类似的问题。有一个从 VC a 到 VC b(在不同的堆栈中)的故事板推送 segue,它是使用 performSegue 调用的:。

我的修复: 删除情节提要中的 segue,然后以完全相同的方式再次创建它。在此之后,VC b 按预期显示了标签栏和导航栏。

向 Apple Bug Reporter 提交了一个错误。

【讨论】:

  • 哇,我不敢相信,但你的回答解决了我的问题。我认为问题在于我添加了一个推送转场,然后嵌入了导航栏,这把转场搞砸了。再次删除并创建segue。谢谢!
  • 好的,如果故事板参考中的 VC b 我该怎么办?我完全按照你说的做了,但是没有用!...可能是因为我正在处理主故事板,而我的 VC b 出现在 VC a 的故事板中作为故事板参考!
【解决方案2】:

我通过将手动 segue 从 tableview 单元格拖动到“View Controller 2”来“解决”它。然后我给它起了和以前一样的名字,并像往常一样在prepareForSegue: 中进行了设置。我不得不拖动多个 segue,但可以为它们使用相同的 id。

如果有人有更好的解决方案,请写在这里。

【讨论】:

  • 你能解释一下吗?你给他们同样的名字是什么意思?我没有得到你!
猜你喜欢
  • 1970-01-01
  • 2016-04-10
  • 2013-03-19
  • 2017-10-03
  • 1970-01-01
  • 2019-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多