22

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 ?

user121095
  • 697
  • 2
  • 6
  • 18

5 Answers5

32

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.

Mojtaba Hosseini
  • 95,414
  • 31
  • 268
  • 278
29

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

Kishan Suthar
  • 648
  • 1
  • 8
  • 15
5

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

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

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

bulutgonulalan
  • 316
  • 3
  • 6
2

Change textField text color to black (don't leave default color) and place holder color using below code

yourTextField.attributedPlaceholder = NSAttributedString(string: "Password", attributes: [NSAttributedString.Key.foregroundColor: UIColor.lightGray])
Malith Kuruwita
  • 594
  • 1
  • 9
  • 14