À partir d'iOS/iPadOS 13, un style d'interface utilisateur sombre est disponible, similaire au mode sombre introduit dans macOS Mojave. Comment puis-je vérifier si l'utilisateur a activé le mode sombre à l'échelle du système ?
Réponses
Trop de publicités?
huync
Points
211
Ely
Points
1025
Comme mentionné par daveextreme, la vérification du style d'interface utilisateur de la vue actuelle ne renvoie pas toujours le style du système lorsque vous utilisez la propriété overrideUserInterfaceStyle
Dans de tels cas, il peut être préférable d'utiliser le code suivant :
switch UIScreen.main.traitCollection.userInterfaceStyle {
case .light: //light mode
case .dark: //dark mode
case .unspecified: //the user interface style is not specified
}
jbiser361
Points
853
Yanis
Points
139
1/ pour UIView/UIViewController :
self.traitCollection.userInterfaceStyle == .dark
2/ pour statique ou autre :
UITraitCollection.current.userInterfaceStyle == .dark
MAIS:
//Never use this! You will get wrong value in app extensions (ex. ToDay widget)
UIScreen.main.traitCollection.userInterfaceStyle == .dark //WRONG!