2016-06-29 3 views
0

меня Date PickerВыбор даты, Пользователь не может вернуться на предыдущую дату Swift

Я уже установить текущую дату, и я хочу, чтобы пользователь не может прокрутить назад к предыдущей дате? разрешено?

+0

Если вы заботитесь читать документацию, вы скоро узнаете, есть специфическое свойство только для этой цели. – Desdenova

+0

Да, вы можете настроить его по своему усмотрению. –

ответ

0

Это пример того, как сделать это в 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 
0

В Swift 3:

var datePicker = UIDatePicker() 
datePicker.minimumDate = Date() 
1

Как говорится в документации 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 
Смежные вопросы