【问题标题】:iOS13 White Color issue with textColor of UIKitiOS 13 白色问题与 UIKit 的文本颜色
【发布时间】:2023-03-17 13:04:02
【问题描述】:

在 iOS13 之前的应用程序布局作为例外工作。在 iOS13.1 中苹果最新的深色主题和浅色主题更新后,它们在现有应用程序中面临着许多问题。就像 UITextField placeHolder 和 whiteColor 之前是 blackColor,UIDatePicker textColor 和 whiteColor 之前是 blackColor。

谁能帮我解决以下 DatePicker 文本颜色问题。这是不可见的,因为 whiteColor,TextColor 应该是 blackColor。

任何帮助表示赞赏。 谢谢你。

【问题讨论】:

    标签: ios swift uitextfield uidatepicker ios13


    【解决方案1】:

    Swift 5 与 iOS 13

    适用于我的整个应用程序而无需执行的通用解决方案 任何文件特定的更改。

    适用于 Xcode 11 或更高版本,之前构建上传失败 Xcode 11 的版本。

    在 info.plist 文件中将 UIUserInterfaceStyle 设置为 1

    AppDelegate.swift

        if #available(iOS 13.0, *) {
            window?.overrideUserInterfaceStyle = .light
        } else {
            // Fallback on earlier versions
        }
    

    我们必须为任何现有的用户界面样式light 应用。

    【讨论】:

    • 如果您在 plist 中包含 UIUserInterfaceStyle 您的应用程序将被苹果拒绝,如此处所述stackoverflow.com/questions/56546267/…
    • 为我工作。如果将 UIUserInterfaceStyle 设置为 Light/Dark 而不是 int 1/0,则可以正确上传应用,如果设置为“1”,则上传程序将失败。
    • 修复了它(即使是基于颤振的项目)
    【解决方案2】:

    这可以帮助你。

    override func viewDidLoad() {
        super.viewDidLoad()
        if #available(iOS 13.0, *) {
            // Always adopt a light interface style.
            overrideUserInterfaceStyle = .light
        }
    }
    

    【讨论】:

    • 这是个糟糕的主意。你的工作是采用暗模式,而不是阻止它。
    • @Aequitas 没有法律规定您必须针对 iOS 13 SDK 进行构建。但如果你这样做了,暗模式会影响你,你应该妥善处理它。这并不难。如果 OP 描述了选择器是如何配置的,我会解释如何做才能使文本在深色模式和浅色模式下都可见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 2019-12-18
    • 2020-01-26
    • 1970-01-01
    相关资源
    最近更新 更多