对于iOS 13暗模式,“文本字段”中的标签和文本会自动变为白色

use*_*095 5 ios swift ios13

我的应用程序适用于低于13.0的iOS版本,但是当我将设备更新至iOS 13并选择了“暗模式”时,标签会自动变白(之前为黑色),而“亮”模式则无法正常工作(在这种情况下可以正常工作,黑色标签保持黑色)。

还有其他人遇到同样的情况吗?到目前为止,有没有针对该问题的解决方法?

Kis*_*har 8

如果您使用的是System彩色,则它将在黑暗模式下自动更改。因此您可以在“应用程序”中使用“自定义颜色”。

或者,您可以在文件中设置键User Interface Style和值。LightInfo.plist

在此处输入图片说明


Moj*_*ini 7

标签颜色

此前,default颜色UILabelBlack Color,但由于iOS的13,默认值是LabelColor女巫是一个语义颜色从系统名称UI元素颜色。要使其始终为黑色,请将颜色更改为black(不是默认值)。但是请注意,背景颜色可能会类似地从黑色变为黑色(从白色)。

您也可以通过在主窗口上设置UserInterfaceStyle完全消除黑暗模式

window!.overrideUserInterfaceStyle = .light
Run Code Online (Sandbox Code Playgroud)

注意AppDelegate直到iOS 13 进入的窗口,现在位于SceneDelegate


小智 6

TextField(placeholder, text: self.$value)
                .colorScheme(.light)
Run Code Online (Sandbox Code Playgroud)

您应该添加 colorScheme 属性以避免文本字段处于深色模式。


Sar*_*yan 5

这是因为您标签的文本颜色设置为默认值。在暗模式下,文本标签的默认颜色为白色,视图为黑色