Search code examples
iosswiftios13

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


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 ?


Solution

  • 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.