2

I am working on a Custom DatePicker in SwiftUI, for that I have written below code which is woking great -

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)
            }
    }
}

Now I want to disable the future date selection, can someone help me to do that?

Anupam Mishra
  • 3,408
  • 5
  • 35
  • 63

1 Answers1

6

It can be done with allowed range, like

   DatePicker(selection: Binding(get: {
            self.searchDate
        }, set: { newVal in
            self.searchDate = newVal
            dateChanged(searchDate)
        }), in: ...Date(),          // << here !!
            displayedComponents: .date) {
            Text(title)
                .font(.headline)
        }
Asperi
  • 228,894
  • 20
  • 464
  • 690