- iPad and iPhone support (popover on ipad, card on iphone)
- Dark mode support
- Can personalize colours
- Easy to use
![]() |
![]() |
|
|---|---|---|
| iPhone | iPad | In Action |
DatePicker is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'DatePicker', '~> 1.3.0'import DatePicker
class ViewController: UIViewController {
@IBAction func DateButton(_ sender: UIButton) {
let minDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 1990)!
let maxDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 2030)!
let today = Date()
// Create picker object
let datePicker = DatePicker()
// Setup
datePicker.setup(beginWith: today, min: minDate, max: maxDate) { (selected, date) in
if selected, let selectedDate = date {
print(selectedDate.string())
} else {
print("Cancelled")
}
}
// Display
datePicker.show(in: self, on: sender)
}
}- Import the library
import UIKit
import DatePicker
class ViewController: UIViewController {
}- Setup
here are multiple ways to configure DatePicker:
- Basic - Picker between today and 100 years from now
let datePicker = DatePicker()
datePicker.setup { (selected, date) in
if selected, let selectedDate = date {
print("\(selectedDate)"
} else {
print("cancelled")
}
}Set initial selected by setting the beginWith parameter:
datePicker.setup(beginWith: Date()) { (selected, date) in
if selected, let selectedDate = date {
print(selectedDate.string())
} else {
print("Cancelled")
}
}Set initial selected by setting the beginWith parameter:
datePicker.setup(beginWith: Date()) { (selected, date) in
if selected, let selectedDate = date {
print(selectedDate.string())
} else {
print("Cancelled")
}
}- Picker with minimum and maximum dates
datePicker.setup(min: minDate, max: maxDate) { (selected, date) in
if selected, let selectedDate = date {
print("\(selectedDate)"
} else {
print("cancelled")
}
}Set initial selected by setting the beginWith parameter
datePicker.setup(beginWith: Date(), min: minDate, max: maxDate) { (selected, date) in
if selected, let selectedDate = date {
print("\(selectedDate)"
} else {
print("cancelled")
}
}Set initial selected by setting the beginWith parameter
datePicker.setup(beginWith: Date(), min: minDate, max: maxDate) { (selected, date) in
if selected, let selectedDate = date {
print("\(selectedDate)"
} else {
print("cancelled")
}
}You can also use DatePickerHelper's functions to help generate dates:
let minDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 1990)
let maxDate = DatePickerHelper.shared.dateFrom(day: 18, month: 08, year: 2020)- Yearless Picker: select and return day and month integers independent of year.
let datePicker = DatePicker()
datePicker.setupYearless { (selected, month, day) in
if selected, let day = day, let month = month {
print("selected \(month) \(day)")
// You can also use DatePickerHelper's functions:
// DatePickerHelper.shared.month(number: Int) will return the month string name
print("selected DatePickerHelper.shared.month(number: month) \(day)")
} else {
print("cancelled")
}
}- Display
- Screen Center:
datePicker.display(in: self)- Or as Popover (for iPads):
datePicker.displayPopOver(on: button, in: self)DatePicker is available under the MIT license. See the LICENSE file for more info.


