【问题标题】:Swift StoryBoard Reference segue to Navigation controller not RootSwift StoryBoard Reference segue to Navigation controller not Root
【发布时间】:2018-04-06 18:13:21
【问题描述】:

有没有办法使用故事板引用 segue 到作为导航控制器内的第二个控制器的控制器?

更具体地说: 我在情节提要 A 中有一个 cameraViewController。 我想为情节提要 B 创建一个转场(带有情节提要参考)。 在情节提要 B 中,我有一个带有两个控制器的导航控制器。 转场应该是从情节提要 A (cameraViewController) 到情节提要 B (SecondViewController)。 如果在参考中我使用控制器的 StoryBoard 参考,则不会显示导航栏。如果我使用 navigatin 控制器的 Storyboard ID,那么 segue 就是 root 控制器。

谢谢。

【问题讨论】:

  • 可以从代码中执行此操作,而不是直接通过情节提要 segues,但是...您正在显示“相机视图”...然后您想显示“2nd导航控制器的视图”。此时,用户点击导航栏中的“返回”按钮,但不是“返回相机视图”,而是希望它“返回到用户没有的视图见过”?这不会让用户非常困惑吗?
  • @DonMag no...我实际上希望用户回到 cameraView...
  • 好的 - 那么为什么不将“相机视图”放在导航控制器中,然后简单地推送到您接下来要查看的视图......然后“后退”按钮将用户按预期返回到相机视图。
  • @DonMag 的故事板有点复杂……cameraView 是页面控制器的一部分,而页面控制器有另一个导航控制器……
  • 听起来你仍然需要解决一些导航问题,但是...我正在做几个屏幕截图来给你一个答案。

标签: ios swift uiviewcontroller uistoryboardsegue xcode9


【解决方案1】:

在您的 Storyboard 中,特定的视图控制器可以链接到多个导航结构。

因此,您可以将Controller B 作为多个导航控制器的一部分。

在情节提要“SB_A”中为情节提要“SB_B”创建一个转接,但不是转接至 SB_B 中的“默认”VC,而是转接至标识为“FromSBA”的 VC - 在这种情况下,“FromSBA”是第二个SB_B内的导航控制器,其根VC为Controller B

【讨论】:

  • 谢谢!需要更改一些 segues 的代码,但现在可以完美运行...没有考虑添加新的导航控制器...并将后退按钮从 popViewController 更改为关闭...谢谢!
猜你喜欢
  • 2014-07-24
  • 1970-01-01
  • 2020-05-16
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
  • 2018-10-12
  • 2013-01-03
  • 2016-12-31
相关资源
最近更新 更多