SwiftUI 2.0更改DatePicker背景

时间:2020-08-23 19:42:12

标签: swift swiftui

无论如何,是否可以更改DatePicker视图的背景颜色?我有以下选择器:

DatePicker(selection: $form.start, in: Date()..., displayedComponents: .date) {}
            .padding(.vertical, 6)
            .labelsHidden()
            .accentColor(.black)

但是选择器在日期周围具有淡灰色的色调(请参见下图)。我只希望整个背景都是白色。我尝试了.background(Color.white),但是什么也没做。如何将整个背景变白?

enter image description here

2 个答案:

答案 0 :(得分:0)

SwiftUI DatePicker建立在UIDatePicker之上。这意味着您需要更改UIDatePicker的外观:

UIDatePicker.appearance().backgroundColor = UIColor.green

请注意,这会全局更改外观


您还可以完全删除UIDatePicker的背景色:

UIDatePicker.appearance().backgroundColor = UIColor.clear

并使用标准的.background修饰符:

DatePicker("", selection: $day, in: Date()..., displayedComponents: .date)
    .background(Color.yellow)

,但这在选择日期时不会改变颜色-仅会影响未展开 DatePicker

答案 1 :(得分:0)

我发现你可以通过如下初始化来做到这一点:

init() {
 UIDatePicker.appearance().backgroundColor = UIColor.init(.white) // changes bg color
        UIDatePicker.appearance().tintColor = UIColor.init(.white) // changes font color
}