0

所以我有一个我想在暗模式下实现的 datePicker——它有几个图形故障——即日历上选定的日期有一个白色的 textColor,有什么办法可以解决这个问题吗?我用红色圆圈突出了问题区域,基本上我只需要能够更改切换颜色并将今天的日期(当它被选中时)更改为黑色 textColor:

DatePicker("", selection: self.$Time, in: Date()..., displayedComponents: [.date, .hourAndMinute])
    .datePickerStyle(GraphicalDatePickerStyle())
    .colorMultiply(Color.black)
    .colorInvert()
    .foregroundColor(Color.white)
    .background(Color.black)

显示日期选择器的样子

有人对如何解决这个问题有任何想法吗?

4

1 回答 1

2

自定义一些 SwiftUI 元素是有限制的。我也对此进行了测试,看起来在暗模式下,当前日期会自动出现一个白色突出显示的圆圈,这是不可自定义的。我会提出以下建议,在暗模式下使用灰色强调色:

@Environment(\.colorScheme) var colorScheme: ColorScheme
    
    var body: some View {
        DatePicker("", selection: $date, in: Date()..., displayedComponents: [.date, .hourAndMinute])
            .datePickerStyle(GraphicalDatePickerStyle())
            .accentColor(colorScheme == .dark ? Color.secondary : Color.primary)
            .background(Color(UIColor.systemBackground))

    }
于 2020-09-18T05:38:10.343 回答