问题描述
因此,我有一个要在黑暗模式下尝试实现的datePicker,它有几个图形故障,即日历上的选定日期具有白色的textColor,我可以用任何方法解决此问题吗?我用红色圆圈突出显示了问题区域,从本质上讲,我只需要能够更改切换颜色并将今天的日期(选中时)更改为黑色textColor:
DatePicker("",selection: self.$Time,in: Date()...,displayedComponents: [.date,.hourAndMinute])
.datePickerStyle(GraphicalDatePickerStyle())
.colorMultiply(Color.black)
.colorInvert()
.foregroundColor(Color.white)
.background(Color.black)
有人对如何解决这个问题有任何想法吗?
解决方法
自定义某些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))
}