【问题标题】:Picker Text color in DarkMode深色模式下的选取器文本颜色
【发布时间】:2019-09-10 07:45:50
【问题描述】:

如何将 Picker 控件中的文本设置为 iOS13 暗模式的浅色

要在 IOS13 上支持 DARKMODE,您需要将文本颜色设置为 系统可以改变的颜色。但是在检查器上,无法将 Picker 文本设置为任何颜色。

必须有一个简单的方法来做到这一点,但我找不到它。使用属性文本不是解决方案。

【问题讨论】:

  • 你试过tintColor吗?

标签: uipickerview ios13 ios-darkmode


【解决方案1】:

我已经为“NSAttributedString.Key.foregroundColor”使用了“UIColor.label”。

func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
        if #available(iOS 13.0, *) {
            return NSAttributedString(string: "ABC", attributes: [NSAttributedString.Key.foregroundColor: UIColor.label])
        } else {
            // Fallback on earlier versions
            return NSAttributedString(string: "ABC", attributes: [NSAttributedString.Key.foregroundColor: UIColor.black])
        }
    }

【讨论】:

    【解决方案2】:

    更改 Tint 颜色没有任何区别,但我注意到字体与其他字体不同 - 这让我怀疑字体被设置在某个地方,我找到了答案。在作为对选取器控件的委托支持的一部分的选取器视图函数中,有一个包含其颜色的字体设置。

    【讨论】:

      【解决方案3】:

      在情节提要中,选择属性检查器/视图/色调/标签颜色

      这将使字体:

      • 白色,暗模式
      • 黑色,浅色模式

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-16
        • 2020-01-25
        • 1970-01-01
        相关资源
        最近更新 更多