首页 > 解决方案 > 如何知道用户在 SwiftUI 中的日期选择器中触摸了哪一天

问题描述

下午好社区,

我想知道是否有任何方法可以识别在 swiftui 中的 datePicker 中按下了哪一天,因为我想知道用户按下了哪一天并能够将其保存在变量中?

DatePicker("My calendar", selection: $startDate,in:Date()..., displayedComponents: .date)
        
        .accentColor(.Teal)
        .background(
                       RoundedRectangle(cornerRadius: 30)
                        .stroke(Color.Teal, lineWidth: 3)
                    )
        .labelsHidden()
        .environment(\.colorScheme, .dark)
        .datePickerStyle(GraphicalDatePickerStyle())
        .padding()
        }

在此处输入图像描述

如照片所示,我怎么知道用户在第 12 天或第 13 天点击了,在 swiftui 中是否有代表知道这一点?

标签: swiftswiftui

解决方案


您为selection定义了 $startDate。您需要一个名为startDate的状态变量来存储选定的日期。

有关完整说明,请点击此链接:https ://www.hackingwithswift.com/quick-start/swiftui/how-to-create-a-date-picker-and-read-values-from-it

编辑: 正如@George 提到的,如果您想检测状态变量的变化,请使用onChange(of:perform:)修饰符。


推荐阅读