Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Labels and text inside Text Field becoming white automatically for iOS 13 Dark mode

Tags:

ios

swift

ios13

My app works fine for iOS versions below 13.0 but when i updated the device to iOS 13 and chose Dark Mode, the labels are going white(which were black earlier) automatically which is not the case with Light mode (in which it is working fine, black labels remain black).

Anyone else experiencing the same and is there any fix for the same so far ?

like image 668
user121095 Avatar asked Sep 23 '19 11:09

user121095


4 Answers

Label Color

Previously the default color of the UILabel was Black Color, but since iOS 13, the default value is LabelColor witch is a Semantic Color name from system UI Element Colors. To make it always black, change the color to black (not default). But be aware that the background color may change to black (from white) similarly.

Also you can eliminate the dark mode entirely by setting the UserInterfaceStyle on main window:

window!.overrideUserInterfaceStyle = .light

Note: Window where in AppDelegate until iOS 13, and now it is in SceneDelegate.

like image 186
Mojtaba Hosseini Avatar answered Nov 01 '22 12:11

Mojtaba Hosseini


if you are using System Color than it will automatically change in dark mode. so you can use Custom Color in Application.

Or you can set key User Interface Style and value Lightin Info.plist file.

enter image description here

like image 29
Kishan Suthar Avatar answered Nov 01 '22 10:11

Kishan Suthar


It's because your label's text color is set Default. In dark mode default color for text label is white and for view is black

like image 5
Sargis Terteryan Avatar answered Nov 01 '22 10:11

Sargis Terteryan


TextField(placeholder, text: self.$value)
                .colorScheme(.light)

You should add colorScheme attribute to avoid the textfield from dark mode.

like image 5
bulutgonulalan Avatar answered Nov 01 '22 11:11

bulutgonulalan