web-dev-qa-db-fra.com

Les étiquettes et le texte dans le champ de texte deviennent automatiquement blancs pour iOS 13 Mode sombre

Mon application fonctionne bien pour les versions iOS inférieures à 13.0 mais lorsque j'ai mis à jour l'appareil vers iOS 13 et choisi le mode sombre, les étiquettes deviennent blanches (qui étaient noires plus tôt) automatiquement, ce qui n'est pas le cas avec le mode léger (dans lequel cela fonctionne bien). , les étiquettes noires restent noires).

Quelqu'un d'autre éprouve-t-il la même chose et existe-t-il une solution pour le même jusqu'à présent?

11
user121095

Label Color

Auparavant, la couleur default du UILabel était Black Color, mais depuis iOS 13, la valeur par défaut est LabelColor qui est un Couleur sémantique nom du système Couleurs des éléments d'interface utilisateur. Pour le rendre toujours noir, changez la couleur en black (pas par défaut). Mais sachez que la couleur d'arrière-plan peut changer en noir (du blanc) de la même manière.

Vous pouvez également éliminer complètement le mode sombre en définissant UserInterfaceStyle sur la fenêtre principale:

window!.overrideUserInterfaceStyle = .light

Remarque : fenêtre où dans AppDelegate jusqu'à iOS 13, et maintenant elle est dans SceneDelegate.

18
Mojtaba Hosseini

si vous utilisez System Couleur, elle changera automatiquement en mode sombre. afin que vous puissiez utiliser la couleur personnalisée dans l'application.

Ou vous pouvez définir la clé User Interface Style et la valeur Lightin Info.plist fichier.

enter image description here

20
Kishan Suthar

C'est parce que la couleur du texte de votre étiquette est définie par défaut. En mode sombre, la couleur par défaut pour l'étiquette de texte est blanche et pour la vue est noire

4
Sargis Terteryan