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

时间:2018-10-25 16:44:07

标签: uikit uidatepicker xcode10 ios12

在以前的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中自定义文本和背景颜色的解决方案?

1 个答案:

答案 0 :(得分:1)

似乎在我设置它们和显示视图之间重置了这些值。我可以通过子类化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")
    }
}