Swift UITabBarController显示空白屏幕

Swift UITabBarController显示空白屏幕,swift,Swift,我正在启动一个没有故事板的应用程序。当我尝试将UITabBarController设置为根视图控制器时,背景色应为红色,选项卡项应为house。有什么问题吗 SceneDelegate代码: func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowSc

我正在启动一个没有故事板的应用程序。当我尝试将UITabBarController设置为根视图控制器时,背景色应为红色,选项卡项应为house。有什么问题吗

SceneDelegate代码:

    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }
               window = UIWindow(frame: windowScene.coordinateSpace.bounds)
               window?.windowScene = windowScene
               window?.rootViewController =  TabBarController()
               window?.makeKeyAndVisible()

    }
HomeViewController代码:

import UIKit

class HomeViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .red
        // Do any additional setup after loading the view.
    }
    
}

import UIKit

class TabBarController: UITabBarController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupTab()
    }
    
    func setupTab(){
        let homeVC = HomeViewController()
        homeVC.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "House"), tag: 0)
        let homeNC = UINavigationController(rootViewController: homeVC)
        tabBarController?.viewControllers = [homeNC]
    }
    
}
tabbar控制器代码:

import UIKit

class HomeViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .red
        // Do any additional setup after loading the view.
    }
    
}

import UIKit

class TabBarController: UITabBarController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupTab()
    }
    
    func setupTab(){
        let homeVC = HomeViewController()
        homeVC.tabBarItem = UITabBarItem(title: "Home", image: UIImage(named: "House"), tag: 0)
        let homeNC = UINavigationController(rootViewController: homeVC)
        tabBarController?.viewControllers = [homeNC]
    }
    
}

设置选项卡视图控制器的工作需要在SceneDelegate中设置场景时完成。HomeViewController的viewDidLoad从未被调用

 var homeNavigationController : UINavigationController!
    var secondHomeNavigationController : UINavigationController!
    
    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
        // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
        // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
        guard let windowScene = (scene as? UIWindowScene) else { return }
        window = UIWindow(frame: windowScene.coordinateSpace.bounds)
        window?.windowScene = windowScene
        
        let tabBarController = TabBarController()

        homeNavigationController = UINavigationController.init(rootViewController: HomeViewController())
        secondHomeNavigationController = UINavigationController.init(rootViewController: HomeViewController())
        tabBarController.viewControllers = [homeNavigationController, secondHomeNavigationController]
 
 //       let item1 = UITabBarItem(title: "Home", image: UIImage(named: "House"), tag: 0)
        let item1 = UITabBarItem(tabBarSystemItem: .featured, tag: 0)
        let item2 = UITabBarItem(tabBarSystemItem: .bookmarks, tag: 1)
        homeNavigationController.tabBarItem = item1
        secondHomeNavigationController.tabBarItem = item2
        
        window?.rootViewController =  tabBarController
        window?.makeKeyAndVisible()

    }

class TabBarController: UITabBarController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        setupTab()
    }
    
    
    func setupTab(){

    }

}

class HomeViewController: UIViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = .red
        // Do any additional setup after loading the view.
    }
    
}

您是否尝试过设置tintColor(
self.tabBar.tintColor=yourColor
)和/或未选中的项目tintColor(
self.tabBar.unselectedItemTintColor=yourColor
)?