我有基于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,但我不知道如何解决这个问题。
答案 0 :(得分:1)
您可以通过多种不同方法实现此功能。
要在标签栏中导航,您应该将控制器嵌入导航控制器中。
此图片可以帮助您理解。
您还可以通过此link和此link获得更多帮助。您还可以查看cocoacontrols和github上的库数量以了解require功能。为了更好地理解,我建议apple documentation。