【问题标题】:Picker Text color in DarkMode深色模式下的选取器文本颜色
【发布时间】:2019-09-10 07:45:50
【问题描述】:
如何将 Picker 控件中的文本设置为 iOS13 暗模式的浅色
要在 IOS13 上支持 DARKMODE,您需要将文本颜色设置为
系统可以改变的颜色。但是在检查器上,无法将 Picker 文本设置为任何颜色。
必须有一个简单的方法来做到这一点,但我找不到它。使用属性文本不是解决方案。
【问题讨论】:
标签:
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】:
在情节提要中,选择属性检查器/视图/色调/标签颜色:
这将使字体: