In my code, I have a UITextField that when the user taps on opens a UIDatePicker to enable the user to easily and efficiently scroll through to their Date Of Birth. Obviousl
UIDatePicker
has a maximumDate
that you can set. Simply set the mode to "Date" in IB and add:
datePicker.maximumDate = NSDate(timeIntervalSinceNow: -504911232)
-504911232 means 16 before today(accounting leap years)
You can use dateByAddingUnit and subtract 16 years from current date to set the maximum date for your datePicker as follow:
datePicker.maximumDate = NSCalendar.currentCalendar().dateByAddingUnit(.Year, value: -16, toDate: NSDate(), options: [])
Xcode 10.2.1 • Swift 5
datePicker.maximumDate = Calendar.current.date(byAdding: .year, value: -16, to: Date())