浅色模式/暗黑模式导航栏不自动适配
进行暗黑模式适配的时候,发现来回切换暗黑模式和浅色模式时,导航栏和tabBar不随着设置改变。
查找许久,发现切换暗黑模式和浅色模式有个监听方法,如下:
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
tabBar.backgroundImage = UIImage.imageFrom(color: Asset.Colors.zBg1.color)
tabBar.barTintColor = Asset.Colors.zBg1.color
tabBar.barStyle = .default
navigationController?.navigationBar.barTintColor = Asset.Colors.zBg1.color
navigationController?.navigationBar.setBackgroundImage(UIImage.imageFrom(color: Asset.Colors.zBg1.color), for: .default)
navigationController?.navigationBar.barStyle = .default
}
# Asset.Colors.zBg1.color 是通过第三方获取的颜色,里面包括暗黑模式和浅色模式下颜色
注意:如果方法如下的话,可能导致当前在已经push或者present内层页面的时候,tabBar和navigationBar的颜色不会改变。实测如此。
override func traitCollectionDidChange(_ previousTraitCollection: UITraitColl