在我的应用程序中,我使用
let navigationBar = UINavigationBar.appearance()
navigationBar.largeTitleTextAttributes = [
NSAttributedString.Key.font: UIFont.SFProDisplay(ofSize: 34, weight: .bold),
NSAttributedString.Key.foregroundColor: UIColor.custom
]
static var custom: UIColor {
return UIColor(named: "color_custom")!
}
哪里有颜色集color_custom
。但是在颜色模式之间切换时,它只使用 Any Appearance 颜色。未使用深色外观。为什么?
添加:
经过一些研究,我认为接下来应该添加到问题中:在我的应用程序中,我使用切换器在模式之间切换。
Storage.isDarkModeOn = newState // saving in user defaults
. 然后:
class PapaViewController: UIViewController {
if #available(iOS 13.0, *) {
overrideUserInterfaceStyle = Storage.isDarkModeOn ? .dark : .light
}
}
其中 PapaViewController 是我的应用程序中所有 UIViewControllers 的父类。因此,如果overrideUserInterfaceStyle == .dark
和设备颜色模式 ==.light
出现错误。如果然后我将设备颜色模式更改为.dark
然后大标题看起来像预期的那样。