Swift 导航控制器在灯光模式下为黑色

Swift navigation controller black in light mode

遇到这样的问题,即使我将外观更改为浅色,导航控制器也总是黑色。

我是这样创建的:

class TabBarController: UITabBarController {

override func viewDidLoad() {
    super.viewDidLoad()

    viewControllers = [
        createViewController(for: AssetViewController(), title: NSLocalizedString("Assets", comment: ""), image: UIImage(systemName: "dollarsign.circle")!),
        createViewController(for: WalletViewController(), title: NSLocalizedString("Wallets", comment: ""), image: UIImage(systemName: "wallet.pass")!),
    ]
}

func createViewController(for rootViewController: UIViewController, title: String, image: UIImage) -> UIViewController {
    let navController = UINavigationController(rootViewController: rootViewController)
    navController.tabBarItem.image = image
    navController.navigationBar.prefersLargeTitles = true

    rootViewController.navigationItem.title = title

    return navController
}

ViewController:

class AssetViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    view.backgroundColor = .systemBackground

    self.view = CustomView()
}

我以相同方式构建的其他导航控制器,但它们 100% 没问题。 可能是什么问题呢?谢谢。

找到问题了。我设置了 backgroundColor,然后设置了自定义视图。应该调换顺序。仍然很奇怪为什么其他 VC 工作得很好。