如何在 xib 中将 NavigationController 嵌入到 Viewcontroller

How can I embed NavigationController to Viewcontroller in xib

我有一个 viewcontroller 让我们说 A 是用 xib 创建的,我想向它添加 navigationController 。

查看层次结构:

UITabbarController -> NavigationController -> B Viewcontroller (A added tabbarcontroller in here when a button in B click)

我在 B Viewcontroller 的按钮操作中将 A 视图添加到 Tabbar,例如

tabBarController?.view.addSubview(A.view)

有了这个结果,视图 A 出现在我想要的 Tabbar 上。

在 A viewController 中有一个 Tableview 有一些 datas.When 我单击一行 我想用 self.navigationController.push(..) 推另一个 Viewcontroller 但我可以不要推送任何东西,因为 UITabbarController 没有 navigationController 所以我想将 NavigationController 添加到 A viewController 。我搜索了很多东西,但找不到任何可能的解决方案。

我怎样才能做到这一点?

设置 UINavigationControllerrootViewController 并将其添加到视图层次结构中。

let navigationController = UINavigationController(rootViewController: aViewController)

此外,要将新的视图控制器附加到 UITabBarControllerviewControllers,请使用:

tabBarController?.viewControllers?.append(navigationController)

或:

tabBarController?.viewControllers?.insert(navigationController, at: 0)

基于您的视图层次结构

UITabbarController -> NavigationController -> B Viewcontroller

您必须附加 ViewController 而不是 ViewController 的视图

    func addMoreViewController() {
        let aViewController = UINavigationController(rootViewController: aViewController)
        
        self.viewControllers.append(aViewController)
    }