iPhone UIDatePicker setMaximumDate

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

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

[picker setMinimumDate: [NSDate date]];

и это работает просто отлично, но MaximumDate не кажется правильным.

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

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


person Matthew Pateman    schedule 29.08.2010    source источник


Ответы (3)


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

[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];
person Matthew Pateman    schedule 29.08.2010
comment
Эй, @Matthew, сделай это правильным ответом! Нажмите на галочку. - person vfn; 30.08.2010
comment
это не позволит мне сделать это еще 2 дня - так что я сделаю это тогда :D - person Matthew Pateman; 30.08.2010

 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 и пять лет (назад) до maxDate, это показывает только пять лет.....

person jayesh kavathiya    schedule 13.08.2012

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

person OOProg    schedule 31.08.2010