swiftUI 中的 minimumDate 等效项?

问题描述

我的应用上有一个 DatePicker,但用户无法选择过去的日期,因为我正在创建一个通知

如何在 SwiftUI 中实现 minimumDate 等价物?

我尝试使用“if date Date(),else show alert”在我的保存按钮上创建提醒,但没有奏效。

解决方法

您可以为 DatePicker 提供一个范围:

@State private var date = Date()
let dateRange: ClosedRange<Date> = {
    let calendar = Calendar.current
    let startComponents = DateComponents(year: 2021,month: 1,day: 1)
    let endComponents = DateComponents(year: 2021,month: 12,day: 31,hour: 23,minute: 59,second: 59)
    return calendar.date(from:startComponents)!
        ...
        calendar.date(from:endComponents)!
}()

var body: some View {
    DatePicker(
        "Start Date",selection: $date,in: dateRange,displayedComponents: [.date,.hourAndMinute]
    )
}

来源:https://developer.apple.com/documentation/swiftui/datepicker