Uitabbarcontroller 如何正确显示选项卡栏?tabbarcontroltest.ViewController开始/结束外观转换的调用不平衡:

Uitabbarcontroller 如何正确显示选项卡栏?tabbarcontroltest.ViewController开始/结束外观转换的调用不平衡:,uitabbarcontroller,Uitabbarcontroller,我在显示tabbarVC时遇到问题 代码如下: 类ViewController:UIViewController{ override func viewDidLoad() { super.viewDidLoad() } override func viewDidLayoutSubviews() { super.viewDidLayoutSubviews() let tabBarVC = UITabBarController() guard let vc1 =

我在显示tabbarVC时遇到问题

代码如下:

类ViewController:UIViewController{

override func viewDidLoad() {
    super.viewDidLoad()

}

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    let tabBarVC = UITabBarController()
    guard let vc1 = storyboard?.instantiateViewController(identifier: "FirstController") as?  FirstController else {
        print("failed to get vc1 from Storyboard")
        return
    }
    guard let vc2 = storyboard?.instantiateViewController(identifier: "SecondController") as? SecondController else {
        print("failed to get vc2 from Storyboard")
        return
    }
    guard let vc3 = storyboard?.instantiateViewController(identifier: "ThirdController") as? ThirdController else {
        print("failed to get vc3 from Storyboard")
        return
    }
    let vc4 = UINavigationController(rootViewController: vc1)
    let vc5 = UINavigationController(rootViewController: vc2)
    let vc6 = UINavigationController(rootViewController: vc3)
    
    vc4.title = "XXX"
    vc5.title = "YYY"
    vc6.title = "ZZZ"
    
    tabBarVC.setViewControllers([vc4,vc5,vc6], animated: false)
    tabBarVC.modalPresentationStyle = .fullScreen
    self.present(tabBarVC, animated: true)
}
}


选项卡栏显示正确,但我收到了一条警告:“对的开始/结束外观转换的调用不平衡,我自己找到了解决方案。正确的方法如下:

    tabBarVC.modalPresentationStyle = .fullScreen
    tabBarVC.view.frame = self.view.bounds
    addChild(tabBarVC)
    view.addSubview(tabBarVC.view)
    tabBarVC.willMove(toParent: self)