如何在 SwiftUI 中禁用 DatePicker 的未来日期选择

Anu*_*hra 2 datepicker ios swift swiftui

我正在 SwiftUI 中开发一个自定义 DatePicker,为此我编写了下面的代码,效果非常好 -

struct DatePickerView: View {
    @State var searchDate = Date()
    let title = "Select a date"
    let dateChanged: (_ date: Date) -> Void
    
    var body: some View {
        
            VStack {
                DatePicker(selection: Binding(get: {
                    self.searchDate
                }, set: { newVal in
                    self.searchDate = newVal
                    dateChanged(searchDate)
                }), displayedComponents: .date) {
                    Text(title)
                        .font(.headline)
                }
                .background(.bar)
            }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想禁用未来日期选择,有人可以帮助我做到这一点吗?

Asp*_*eri 7

可以在允许的范围内完成,例如

   DatePicker(selection: Binding(get: {
            self.searchDate
        }, set: { newVal in
            self.searchDate = newVal
            dateChanged(searchDate)
        }), in: ...Date(),          // << here !!
            displayedComponents: .date) {
            Text(title)
                .font(.headline)
        }
Run Code Online (Sandbox Code Playgroud)