2015-01-11 5 views
0

Я пытаюсь показать простой выбор даты с максимальной датой сегодня, а мин - 100 лет назад, но это не работает вообще, и у выбора даты нет ограничений.UIDatePicker мин. И макс не изменяется

CGRect frame = CGRectMake(0, CGRectGetHeight([UIScreen mainScreen].bounds)-250, CGRectGetWidth([UIScreen mainScreen].bounds), 250); 

     UIDatePicker *datePicker = [[UIDatePicker alloc] initWithFrame:frame]; 
     datePicker.backgroundColor = [UIColor whiteColor]; 
     datePicker.datePickerMode = UIDatePickerModeDate; 

     datePicker.minimumDate = [AppConfiguration currentDateMinusXYears:100]; 
     datePicker.maximumDate = [NSDate date]; 

     [datePicker addTarget:self action:@selector(datePicker:) forControlEvents:UIControlEventValueChanged]; 
     [self.view addSubview:datePicker]; 

+ (NSDate *)currentDateMinusXYears:(NSInteger)xYears 
{  
    NSDate *today = [NSDate new]; 
    NSDateComponents *addComponents = [[NSDateComponents alloc] init]; 
    addComponents.year = - xYears; 
    return [[NSCalendar currentCalendar] dateByAddingComponents:addComponents toDate:today options:0]; 
} 

Любые идеи, почему?

Редактировать 1: В итоге я использовал сторонний код.

+0

Вы пробовали вывести две даты и посмотреть, что они на самом деле? – Emil

+0

мин: 1915-01-11 11:51:58 +0000, max: 2015-01-11 12:12:38 +0000 –

+0

Ваша проблема с этим? http://stackoverflow.com/questions/19024792/uidatepicker-constraints-not-working-in-device – Emil

ответ

0
NSDateComponents *comps = [[NSDateComponents alloc] init]; 
[comps setYear:30]; 
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 
[comps setYear:0]; 
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0]; 

[actionSheetPicker setMaximumDate:maxDate]; 
[actionSheetPicker setMinimumDate:minDate]; 
+0

Все еще не работает. –

+0

Установлен делегат и источник данных UIActionSheet? – coreDeviOS

Смежные вопросы