3

我在XCode 10.2. 目前,Apple 发布了一个新的操作系统版本13.2.3,我在真机上更新了 ios 版本,并在真机上检查了我的应用程序。textField 在我的如何解决此问题 中不显示文本。在此处输入图像描述

任何人都可以帮助我

4

2 回答 2

4

如果您的应用不支持暗模式:-

您可以通过在 Info.Plist 中添加以下键值来禁用整个应用程序中的暗模式。

UIUserInterfaceStyle =  Light

如果您的应用支持暗模式:-

在 iOS 13 深色模式下,您的文本颜色将不可见。如果你没有设置。如果您分配系统颜色暗模式和浅色将自动更改。

@IBOutlet weak var textFeild: UITextFeild!
 override func viewDidLoad() {
        super.viewDidLoad()
      if #available(iOS 13.0, *) {
                textFeild.textColor = .label // System Color
            } else {
                // Fallback on earlier versions
              textFeild.textColor = .black
            }
}

或者对于自定义颜色,您可以在 UIColor 中使用回调方法

@IBOutlet weak var textFeild: UITextFeild!
 override func viewDidLoad() {
        super.viewDidLoad()
                if #available(iOS 13.0, *) {
                     let dynamicColor = UIColor { (traitCollection: UITraitCollection) -> UIColor in
                         if traitCollection.userInterfaceStyle == .dark {
                            return darkColor
                         } else {
                            return lightColor
                         }
                     }
                    UILabel().textColor =  dynamicColor
                 } else {
                     // Fallback on earlier versions
                UILabel().textColor =  lightColor
                 }
}

您可以在情节提要本身中设置它。

在此处输入图像描述

于 2019-11-22T10:54:56.970 回答
2

将您的设备外观更改为灯光模式,看看问题是否已解决。如果是,那么您应该设置textColor相对于给定外观模式的文本。

您可以添加 new Color Setin Assets.xcassets,如下所示:

在此处输入图像描述

并且颜色将相对于所选的外观模式自动更改。

希望对你有帮助!

于 2019-11-22T10:56:50.713 回答