SwiftUI 2自定义GraphicalDatePickerStyle

问题描述

因此,我有一个要在黑暗模式下尝试实现的datePicker,它有几个图形故障,即日历上的选定日期具有白色的textColor,我可以用任何方法解决此问题吗?我用红色圆圈突出显示了问题区域,从本质上讲,我只需要能够更改切换颜色并将今天的日期(选中时)更改为黑色textColor:

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

shows what the date picker looks like

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

解决方法

自定义某些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))

    }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...