带标签栏控制器的导航控制器?

Navigation controller with tab bar controller?

我的标签栏控制器中嵌入了一个 tableViewController。当点击一个单元格时,将启动一个 segue 到另一个视图控制器以显示该对象的详细信息。但是,后退按钮没有出现在 viewDetail 中。我尝试将视图嵌入到单独的导航控制器中,但这并没有改变任何东西。我究竟做错了什么?我目前有 Tab Bar Controller -> tableView -> Navigation Controller -> viewDetail(这里需要后退按钮 return 到 tableView)。

这是我现在拥有的:

谢谢!!

将NavigationController设置为TabBarController,然后将NavigationController的rootViewController设置为TableViewController。

你只是组织错了。目前你有标签栏控制器 -> tableView -> Navigation Controller -> viewDetail。应该是Tab Bar -> tableview -> View detail。导航应该单独指向 table 视图。没有什么应该指向导航。它应该只指向 tableview

应该像上图那样

UITabBarController 中的每个 UIViewController 都可以在您方便时嵌入到 UINavigationController 中,这样您就可以使用所需的所有功能。

基本上,您需要select tableViewController,单击Editor 菜单项,select Embed in 然后单击Navigation Controller,ta daa。

如果需要,您可以使用 Interface Builder 或在详细信息 viewController 中以编程方式显示或隐藏 Navigation Bar,如下所示:

override func viewDidLoad() {
    super.viewDidLoad()
    self.navigationController?.navigationBarHidden = true
    // Do stuff
}