【问题标题】:Nested Navigation Controllers and TabBar Controllers嵌套导航控制器和 TabBar 控制器
【发布时间】:2018-03-24 19:49:30
【问题描述】:

我的故事板是这样的:

TabBarViewController
|-NavigationViewController
  |-TableViewController

这有助于我在 TableViewController 中同时拥有一个导航栏和标签栏。

现在我正在尝试添加一个 SecondViewController 来显示表中所选项目的详细信息。所以我这样做了:

TabBarViewController
|-NavigationViewController
  |-TableViewController
    |-SecondViewController

但是 SecondViewController 不显示导航栏。所以我尝试了这个:

TabBarViewController
|-NavigationViewController
  |-TableViewController
    |-NavigationViewController
      |-SecondViewController

但是 SecondViewContrller 中仍然没有导航栏。 我错过了什么?

【问题讨论】:

  • 您只需要一个 NavigationViewController。你在使用segues吗?如果是这样,是否存在将 TableViewController 连接到 SecondTableViewController 的 segue?
  • 是的,当我不使用第二个导航控制器时,我有一个从 TableViewController 到 SecondViewController 的“显示”segue。

标签: swift xcode uinavigationcontroller uitabbarcontroller uinavigationbar


【解决方案1】:

我不完全确定您为什么需要这样的嵌套导航控制器?

请参阅下面的仅情节提要解决方案,我认为这是您想要的,或者您可以创建自定义委托来处理视图堆栈和导航树。

我在这里假设您的“SecondViewController”是各种详细视图?所以,类似:

TabBarViewController
|-NavigationViewController
  |-TableViewController (NavigationViewControllerDelegate)
    |-DetailViewController (SecondViewController)

这是故事板解决方案(无代码):

  1. 将NavigationController 添加到情节提要
  2. 将其嵌入标签栏控制器(来自菜单)
  3. 在 Storyabord 中添加 TableViewController
  4. 向表格视图中的单元格添加按钮
  5. 将标准 ViewController 添加到情节提要
  6. 将 tableview 单元格的按钮连接到新的视图控制器
  7. 将另一个标准 ViewController 添加到情节提要并为其提供一个标签栏项目
  8. 将标签栏控制器链接到此视图控制器

然后你会得到这样的结果:

【讨论】:

  • 你是对的。它确实有效。原来我在SecondViewController 上有一个navigationbar,但它的背景和后退箭头颜色都是白色的,所以它是不可见的。我在 SecondViewController 中更改了视图的背景颜色,现在我很好!
猜你喜欢
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多