在同一个标​​签栏项目中实例化视图控制器多个绑定

时间:2018-02-12 14:47:00

标签: ios swift

我有基于tableView的幻灯片菜单。我也在IB上创建了标签栏。 标签栏上的第一项与主页相似。通过defaut运行app项目显示主屏幕。当从菜单中选择一个项目时,它应该在与主页相同的视图上打开。

//来自菜单项的部分代码负责选择主页标签栏项目

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    tableView.deselectRow(at: indexPath, animated: true)
ContainerVC.tabBarViewController?.selectedIndex = 0
}

//分离视图控制器上的viewWillAppear函数

override func viewWillAppear(_ animated: Bool){
   super.viewWillAppear(true)

    let vc = self.storyboard?.instantiateViewController(withIdentifier: "DynNews")
    self.navigationController?.pushViewController(vc!, animated: true)

}

启动应用时,此功能仅适用一次。稍后在app上显示主页。这是因为标签栏加载视图只有一次,然后选择标签索引不会调用viewWillAppear,但我不知道如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以通过多种不同方法实现此功能。 要在标签栏中导航,您应该将控制器嵌入导航控制器中。 此图片可以帮助您理解。enter image description here

您还可以通过此link和此link获得更多帮助。您还可以查看cocoacontrols和github上的库数量以了解require功能。为了更好地理解,我建议apple documentation