Ios 如何以编程方式在导航控制器中嵌入视图?

Ios 如何以编程方式在导航控制器中嵌入视图?,ios,swift,uikit,Ios,Swift,Uikit,我在一个UITabBarController中有3个视图控制器。仅在一个视图控制器中,我希望将其放置在导航控制器中。这样做的正确方法是什么,以便只有一个视图控制器具有导航控制器?我想aController在导航控制器中 import UIKit class TabBarController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() let mContr

我在一个UITabBarController中有3个视图控制器。仅在一个视图控制器中,我希望将其放置在导航控制器中。这样做的正确方法是什么,以便只有一个视图控制器具有导航控制器?我想
aController
在导航控制器中

import UIKit

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let mController = MViewController()
        mpController.tabBarItem = UITabBarItem(title: "view1", image: UIImage(named: "viewoneimage"), tag: 0)



        let inputController = InputViewController()
        inputController.tabBarItem = UITabBarItem(title: "Input", image: UIImage(named: "plus"), tag: 1)

        let aController = ATableViewController()
        aController.tabBarItem = UITabBarItem(title: "custom", image: UIImage(named: "person.fill"), tag: 2)
        let navController = UINavigationController()
//        aController.navigationController = navController


        viewControllers = [mController, inputController, aController, navController]
        // Do any additional setup after loading the view.
    }




}

您必须在
导航控制器
中插入
ui视图控制器
,并用
导航控制器
初始化选项卡菜单

此外,对于每个选项卡,您将拥有不同的
导航控制器

您的代码应该是这样的

import UIKit

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let mController = MViewController()
        mpController.tabBarItem = UITabBarItem(title: "view1", image: UIImage(named: "viewoneimage"), tag: 0)
        let inputController = InputViewController()
        inputController.tabBarItem = UITabBarItem(title: "Input", image: UIImage(named: "plus"), tag: 1)
        let aController = ATableViewController()
        aController.tabBarItem = UITabBarItem(title: "custom", image: UIImage(named: "person.fill"), tag: 2)
        let navMController = UINavigationController(rootViewController: mpController)
        let navInputController = UINavigationController(rootViewController: inputController)
        let navaController = UINavigationController(rootViewController: aController)
        viewControllers = [navMController, navInputController, navaController]
    }
}

您是否尝试将
UINavigationController
添加为选项卡栏控制器的
viewControllers
数组之一?有两件事。首先,您不在
UINavigationController
中嵌入视图,而是嵌入视图控制器。其次,如果您希望在视图中嵌入
UINavigationController
,请尝试将其作为该视图VC的子VC。@dfd我是说视图控制器不好。@Rudedog我这样做了,但它只显示了一个空白的视图控制器。如何将其添加到现有的?非常好!如何设置导航控制器的标题?检查