SwiftUI - 使用 DatePicker GraphicalDatePickerStyle 作为只读日历

问题描述

我想显示一个带有一组日期标记的日历(它反映了用户在我的应用程序上安排的一个月内的所有预订)。

我正在尝试在不创建日历组件或导入库的情况下做到这一点。所以,在这里我使用来自 SwiftUI 的 DatePicker 组件和这个配置:

DatePicker(
    "",selection: $date,displayedComponents: [.date])
.datePickerStyle(GraphicalDatePickerStyle())

enter image description here

是否可以用我的数据层上保留的所有天数来填充此日历?

我想要的是类似于日历应用程序的功能

enter image description here

解决方法

相当棘手,但您可以声明绑定变量以将 date 值设置为旧值。

var body: some View {
    let binding = Binding<Date> {
        self.date
    } set: { newDate in
        self.date = Date() // your old value
    }

    DatePicker(
        "",selection:binding,displayedComponents: [.date])
    .datePickerStyle(GraphicalDatePickerStyle())

}