iPhone UIDatePicker setMaximumDate - PullRequest
       12

iPhone UIDatePicker setMaximumDate

3 голосов
/ 30 августа 2010

Я пытаюсь создать средство выбора даты, которое сегодня имеет минимальную дату и 1 февраля 2011 года - максимальную.

Я установил минимальную дату следующим образом

[picker setMinimumDate: [NSDate date]];

и это работает просто отлично, но MaximumDate, похоже, не корректен.

[picker setMaximumDate: [NSDate dateWithNaturalLanguageString:@"11/02/01"]];

Как правильно установить максимальную дату?

Ответы [ 3 ]

8 голосов
/ 30 августа 2010

Нашел ответ. В любом случае спасибо за вашу помощь.

[picker setDatePickerMode:UIDatePickerModeDate];

NSDateFormatter* formatter1 = [[NSDateFormatter alloc] init];
[formatter1 setLenient:YES];
[formatter1 setDateStyle:NSDateFormatterShortStyle];
[formatter1 setTimeStyle:NSDateFormatterShortStyle];

NSString* dateString = @"February 1 2011 10:00am";
NSDate* maxDate = [formatter1 dateFromString:dateString];

[picker setMinimumDate: [NSDate date]];
[picker setMaximumDate: maxDate];
3 голосов
/ 13 августа 2012
 NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
        NSDate *currentDate = [NSDate date];
        NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
        [comps setYear:0];
        NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
        [comps setYear:-5];
        NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];

        [datePicker setMaximumDate:maxDate];
        [datePicker setMinimumDate:minDate];

слышать, показывая дату текущую дату в minDate и пять лет назад это шоу всего пять лет .....

2 голосов
/ 01 сентября 2010

Вы также можете сделать это в палитре Interface Builder. Я думаю, что если вы нажмете «Command-1», он переключится на вкладку в палитре, которая позволяет вам установить максимальную дату для выбора.

...