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 工作得很好。
遇到这样的问题,即使我将外观更改为浅色,导航控制器也总是黑色。
我是这样创建的:
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 工作得很好。