Как динамически установить максимальную дату для выбора даты в iPhone? - PullRequest
0 голосов
/ 28 июня 2011

У меня есть средство выбора даты, и я хочу установить максимальную дату как дату СЕГОДНЯ, которая будет меняться ежедневно.
На сегодняшний день сегодняшняя дата - 28 июня 2011 года, поэтому максимальная дата - 28 июня 2011 года, но когда завтра я использую свое приложение, оно будет изменено на 29 июня 2011 года.
Как установить это?
Спасибо

Ответы [ 3 ]

0 голосов
/ 28 июня 2011

Установите свойство maximumDate в методе viewWillAppear: следующим образом:

datePicker.maximumDate = [NSDate date];

Чтобы справиться с изменением даты во время использования приложения, оставьте время до завтра и установите NSTimer для запускаотключить при изменении даты, а затем обновить UIDatePicker экземпляр.

NSDate * tomorrow = [NSDate dateWithNaturalLanguageString:@"12 AM tomorrow"];
NSTimeInterval timeInterval = [tomorrow timeIntervalSinceNow];

/* Create an NSTimer to trigger a method to update the datePicker's maximumDate 
   after timeInterval */
0 голосов
/ 12 марта 2019

Как [NSDate date] или Date () возвращает текущую сегодняшнюю дату.

В Objective-C

Установить свойство минимального выбора средства выбора даты:

datePicker.minimumDate = [NSDate date];

В Swift 4.x

datePicker.minimumDate = Date() 

(где datePicker - это ссылка на ваш UIDatePicker)

0 голосов
/ 28 июня 2011

Если вы посмотрите на documentation, вы увидите, что есть свойство UIDatePicker, которое называется maximumDate.Затем, если вы посмотрите документацию для NSDate, вы увидите, что метод класса date возвращает NSDate с текущей датой и временем, поэтому: `someDatePicker.maximumDate = [NSDate date];установит средство выбора даты так, чтобы оно не позволяло устанавливать дату (или время) позже этого момента.

...