Предположим, что сегодняшняя дата 16 мая 2016 года, я хочу ограничить пользователя отображением даты до 16 июня 2016 года.
Swift 2.0, проверка максимальной даты DatePicker
Ответы (5)
Редактировать
Свифт 3
let datePicker = UIDatePicker()
datePicker.maximumDate = Date()
быстро 2
let datePicker = UIDatePicker()
datePicker.maximumDate = NSDate()
Ограничить пользователя определенным интервалом времени
Попробуйте это: пользователь ограничит выбор даты более чем на один месяц с текущей даты.
let datePicker = UIDatePicker()
let secondsInMonth: NSTimeInterval = 30 * 24 * 60 * 60
datePicker.maximumDate = NSDate(timeInterval: secondsInMonth, sinceDate: NSDate())
person
AkBombe
schedule
16.05.2016
В Swift 2.0 используйте свойство maxDate для решения вашей проблемы.
Вы можете использовать такой код..
let datePicker = UIDatePicker()
datePicker.maximumDate = NSDate()
person
Himanshu
schedule
16.05.2016
установите свойство maximumDate
для UIDatePicker
.
person
Surjeet Rajput
schedule
16.05.2016
Вы можете установить как максимальную дату, так и минимальную дату программно.
Используйте следующий код для iOS 8+
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setMonth:1];
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
/* Optional for your case */
[comps setYear:-30];
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[datePicker setMaximumDate:maxDate];
[datePicker setMinimumDate:minDate]
person
NSPratik
schedule
16.05.2016
Это точно не Swift 2.0
- person William GP; 16.05.2016
Логика такова, предположим, что сегодня 16 мая 2016 года, и вы хотите добавить 30 дней, тогда приведенная ниже логика будет вам полезна.
// Initialize stringified date presentation
var myStringDate: String = "2016-05-16"
// How much day to add
var addDaysCount: Int = 30
// Creating and configuring date formatter instance
var dateFormatter: NSDateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
// Retrieve NSDate instance from stringified date presentation
var dateFromString: NSDate = dateFormatter.dateFromString(myStringDate)
// Create and initialize date component instance
var dateComponents: NSDateComponents = NSDateComponents()
dateComponents.day = addDaysCount
// Retrieve date with increased days count
var newDate: NSDate = NSCalendar.currentCalendar().dateByAddingComponents(dateComponents, toDate: dateFromString, options: 0)
NSLog("Original date: %@", dateFormatter.stringFromDate(dateFromString))
NSLog("New date: %@", dateFormatter.stringFromDate(newDate))
// Clean up
dateComponents, dateComponents = nil
dateFormatter, dateFormatter = nil
Новая дата, которую вы получаете, может быть установлена в UIDatePicker.
person
iAnkit
schedule
16.05.2016
maximumDate
- person Bhavin Ramani   schedule 16.05.2016