在iOS 12中的UIDatePicker中自定义背景和文本颜色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在iOS 12中的UIDatePicker中自定义背景和文本颜色相关的知识,希望对你有一定的参考价值。

在以前的ios版本中,我能够使用以下内容更改文本和背景颜色:

let datePicker = UIDatePicker()
datePicker.datePickerMode = UIDatePickerMode.date
datePicker.setValue(UIColor.white, forKey: "textColor")
datePicker.backgroundColor = UIColor.black.withAlphaComponent(0.6)

这在Xcode 10 / iOS 12中不再有效。日期选择器以默认颜色显示。有没有人找到自定义iOS 12中文本和背景颜色的解决方案?

答案

似乎有些东西在我设置它们和显示视图之间重置这些值。我能够通过继承UIDatePicker并在layoutSubviews()中设置值来解决这个问题。可能有一个更高效的地方来设置颜色,但这对我来说现在很有用。

class DatePicker: UIDatePicker {
    override func layoutSubviews() {
        super.layoutSubviews()

        backgroundColor = UIColor.black.withAlphaComponent(0.6)
        setValue(false, forKey: "highlightsToday")
        setValue(UIColor.white, forKey: "textColor")
    }
}

以上是关于在iOS 12中的UIDatePicker中自定义背景和文本颜色的主要内容,如果未能解决你的问题,请参考以下文章

为 iOS7 自定义 UIDatePicker 的文本颜色(就像邮箱一样)

使用UIAppearance自定义iOS UIDatepicker

有人发现 UIDatePicker 在 iOS 14 下被破坏了吗?

iOS 7 中自定义 TableViewCell 中的自动布局问题

在 iOS 7 中自定义 UISearchBar

在 iOS 中自定义 UIStatusBar