меня Date PickerВыбор даты, Пользователь не может вернуться на предыдущую дату Swift
Я уже установить текущую дату, и я хочу, чтобы пользователь не может прокрутить назад к предыдущей дате? разрешено?
меня Date PickerВыбор даты, Пользователь не может вернуться на предыдущую дату Swift
Я уже установить текущую дату, и я хочу, чтобы пользователь не может прокрутить назад к предыдущей дате? разрешено?
Это пример того, как сделать это в Swift 2.2:
// a global var
var datePicker = UIDatePicker()
// UIDatePicker settings:
let currentDate: NSDate = NSDate()
let calendar: NSCalendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
calendar.timeZone = NSTimeZone(name: "UTC")!
let components: NSDateComponents = NSDateComponents()
components.calendar = calendar
components.year = -18
let minDate: NSDate = calendar.dateByAddingComponents(components, toDate: currentDate, options: NSCalendarOptions(rawValue: 0))!
components.year = -150
let maxDate: NSDate = calendar.dateByAddingComponents(components, toDate: currentDate, options: NSCalendarOptions(rawValue: 0))!
datePicker.dateOfBirthUIDatePicker.minimumDate = minDate
datePicker.dateOfBirthUIDatePicker.maximumDate = maxDate
В Swift 3:
var datePicker = UIDatePicker()
datePicker.minimumDate = Date()
Как говорится в документации here вы только установить опцию minimumDate вашего UIDatePicker.
Это пример
var datePicker = UIDatePicker() //your UIDatePicker
datePicker.minimumDate = Date() //the minimum date is now. Only future date is allowed
Другой случай является следующая
var datePicker = UIDatePicker() //your UIDatePicker
//create a gregorian calendar
let calendar = NSCalendar(calendarIdentifier: NSCalendarIdentifierGregorian)!
// set the timezone
calendar.timeZone = NSTimeZone(name: "UTC")!
// create and set the component (for your minimum date value)
let components: NSDateComponents = NSDateComponents()
components.calendar = calendar
components.year = -100
// obtain the minimum NSDate, according to the defined components
//it will result as the difference of the years (components.year) from now (NSDate())
let minDate100YearsAgo: NSDate = calendar.dateByAddingComponents(components, toDate: NSDate(), options: NSCalendarOptions(rawValue: 0))!
//then you add this to the UIDatePicker
datePicker.minimumDate = minDate100YearsAgo
Если вы заботитесь читать документацию, вы скоро узнаете, есть специфическое свойство только для этой цели. – Desdenova
Да, вы можете настроить его по своему усмотрению. –