我的一个 ViewController 中有一个 UIDatePicker。如您所见,背景很暗。
我已经设法将文本颜色更改为白色。我无法更改的是所选日期上方和下方两行的颜色。它始终保持默认的深灰色。有没有人有一段代码来实现对这些线条进行着色?
胡尼瑟苏拉杰 https://stackoverflow.com/users/2057828/huniserd-suraj答案是正确的,只需对未来的更改进行额外的检查,这就是我的使用方式,分别用于 UIPickerView 和 UIDatePicker:
for subview in self.picker.subviews {
if subview.frame.height == 1 {
subview.backgroundColor = UIColor.whiteColor()
}
}
if let pickerView = self.datePicker.subviews.first {
for subview in pickerView.subviews {
if subview.frame.height == 1 {
subview.backgroundColor = UIColor.whiteColor()
}
}
}
iOS 10 更新
从 iOS 10 开始,这不再起作用,正如一些评论中提到的,即找到子视图并获取它们可以工作,但设置背景颜色不再起作用。
我为此做了另一个肮脏的解决方案,我设置了一个带有有效边框颜色的边框。
for subview in self.picker.subviews {
if subview.frame.height <= 5 {
subview.backgroundColor = UIColor.white
subview.tintColor = UIColor.white
subview.layer.borderColor = UIColor.white.cgColor
subview.layer.borderWidth = 0.5 }
}
if let pickerView = self.datePicker.subviews.first {
for subview in pickerView.subviews {
if subview.frame.height <= 5 {
subview.backgroundColor = UIColor.white
subview.tintColor = UIColor.white
subview.layer.borderColor = UIColor.white.cgColor
subview.layer.borderWidth = 0.5
}
}
self.datePicker.setValue(UIColor.white, forKey: "textColor")
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)