我的UIDatePicker的背景是黑色的(因为整个屏幕的背景可能是黑色的),但我想在这个UIDatePicker的背景中使用白色.
有没有办法改变背景颜色而不进行子类化?
小智 6
iOS 14 更新
看起来这datePicker.backgroundColor在 iOS 14 中不起作用。但它可以。但你必须在设置后放置preferredDatePickerStyle:
let picker = UIDatePicker()
if #available(iOS 13.4, *) {
picker.preferredDatePickerStyle = .wheels
}
picker.backgroundColor = .red
Run Code Online (Sandbox Code Playgroud)
通常,我会说UIDatePicker 继承自 UIView并且您可以通过像这样的行以编程方式设置背景yourDatePickerRef.backgroundColor = [UIColor whiteColor];,但事实证明 -根据这个相关问题- UIDatePicker内部有许多子视图,其中一些是背景视图。
您需要将这些子视图的背景颜色设置为白色(而不是透明或当前设置的任何颜色)。
是的,这有点痛苦,但这使得 UIDatePicker 成为一个潜在的强大对象,能够自定义外观。