swift - 如何知道用户在 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 中是否有代表知道这一点?
解决方案
您为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:)修饰符。