iOS 13暗模式下文本字段内的标签和文本自动变为白色
我的应用程序适用于13.0以下的iOS版本,但当我将设备更新到iOS 13并选择暗模式时,标签会自动变为白色(之前为黑色),而在亮模式下则不会(在亮模式下工作正常,黑色标签仍为黑色)iOS 13暗模式下文本字段内的标签和文本自动变为白色,ios,swift,ios13,Ios,Swift,Ios13,我的应用程序适用于13.0以下的iOS版本,但当我将设备更新到iOS 13并选择暗模式时,标签会自动变为白色(之前为黑色),而在亮模式下则不会(在亮模式下工作正常,黑色标签仍为黑色) 还有其他人也经历过同样的情况吗?到目前为止,有没有解决办法 这是因为标签的文本颜色设置为默认值。在暗模式下,文本标签的默认颜色为白色,视图的默认颜色为黑色。如果您使用的是系统颜色,则文本标签在暗模式下会自动更改。因此,您可以在应用程序中使用自定义颜色 或者您可以在Info.plist文件中设置键用户界面样式和值Li
还有其他人也经历过同样的情况吗?到目前为止,有没有解决办法 这是因为标签的文本颜色设置为默认值。在暗模式下,文本标签的默认颜色为白色,视图的默认颜色为黑色。如果您使用的是
系统
颜色,则文本标签在暗模式下会自动更改。因此,您可以在应用程序中使用自定义颜色
或者您可以在Info.plist
文件中设置键用户界面样式
和值Light
以前,UILabel
的default
颜色是黑色
,但从iOS 13开始,默认值是LabelColor
,它是来自系统UI元素颜色的语义颜色名称。要使其始终为黑色,请将颜色更改为黑色
(非默认)。但是请注意,背景颜色可能会同样地变为黑色(从白色)
此外,您还可以通过在主窗口上设置UserInterfaceStyle完全消除暗模式:
window!.overrideUserInterfaceStyle = .light
注意:在iOS 13之前的AppDelegate
窗口中,现在它位于SceneDelegate
中
将文本字段文本颜色更改为黑色(不要保留默认颜色),然后
使用以下代码的占位符颜色
您应该添加colorScheme属性以避免文本字段处于暗模式。在应用程序的plist文件中将UIUserInterfaceStyle设置为Light或dark,以更改整个应用程序的颜色 如果有人只是想恢复旧的行为,您可以在
Info.plist
中禁用应用程序的暗模式支持:
<key>UIUserInterfaceStyle</key>
<string>Light</string>
UIUserInterfaceStyle
轻的
TextField(placeholder, text: self.$value)
.colorScheme(.light)
<key>UIUserInterfaceStyle</key>
<string>Light</string>