【发布时间】:2019-09-23 11:23:14
【问题描述】:
我的应用程序适用于低于 13.0 的 iOS 版本,但是当我将设备更新到 iOS 13 并选择深色模式时,标签会自动变为白色(之前是黑色),而浅色模式不是这种情况(其中它工作正常,黑色标签保持黑色)。
还有其他人遇到过同样的情况吗?到目前为止是否有任何解决方法?
【问题讨论】:
我的应用程序适用于低于 13.0 的 iOS 版本,但是当我将设备更新到 iOS 13 并选择深色模式时,标签会自动变为白色(之前是黑色),而浅色模式不是这种情况(其中它工作正常,黑色标签保持黑色)。
还有其他人遇到过同样的情况吗?到目前为止是否有任何解决方法?
【问题讨论】:
这是因为您的标签的文本颜色设置为默认值。在深色模式下,文本标签的默认颜色为白色,视图为黑色
【讨论】:
TextField(placeholder, text: self.$value)
.colorScheme(.light)
您应该添加 colorScheme 属性以避免文本字段处于暗模式。
【讨论】:
将 textField 文本颜色更改为黑色(不要保留默认颜色)和 使用下面的代码占位符颜色
yourTextField.attributedPlaceholder = NSAttributedString(string: "Password", attributes: [NSAttributedString.Key.foregroundColor: UIColor.lightGray])
【讨论】:
在您应用的 plist 文件中将 UIUserInterfaceStyle 设置为 Light 或 Dark 以针对整个应用进行更改
如果有人只是想恢复旧行为,您可以在 Info.plist 中禁用应用的暗模式支持:
<key>UIUserInterfaceStyle</key>
<string>Light</string>
【讨论】: