UIDatePicker setMinimumDate и setMaximumDate устанавливают ноль - PullRequest
2 голосов
/ 09 сентября 2011

Понятия не имею, почему этот чрезвычайно простой фрагмент кода устанавливает нулевые значения.

NSDate *currentTime = [NSDate date];
[datePicker setMinimumDate:currentTime];
[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:kSecondsInYear]];
NSLog(@"cur: %@, min: %@, max: %@",currentTime,datePicker.minimumDate,datePicker.maximumDate);

Вывод: cur: 2011-09-09 16:18:18 GMT, мин: (ноль), макс: (ноль)

Ответы [ 2 ]

5 голосов
/ 09 сентября 2011

Учитывая, что следующее работает нормально, проблема определенно связана с datePicker.

UIDatePicker* datePicker = [[UIDatePicker alloc] init];
NSLog(@"DatePicker: %@", datePicker);
NSDate *currentTime = [NSDate date];
[datePicker setMinimumDate:currentTime];
[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:40000]];
NSLog(@"cur: %@, min: %@, max: %@",currentTime,datePicker.minimumDate,datePicker.maximumDate);

Если вы добавите NSLog(@"DatePicker: %@", datePicker); к своему фрагменту кода, он должен сообщить что-то вроде: DatePicker: <UIDatePicker: 0x4b36740; frame = (0 0; 320 216); layer = <CALayer: 0x4b33940>>. Если он возвращает (null) (что я очень сильно подозреваю), то он либо не создается программно, либо не подключается в Interface Builder.

2 голосов
/ 12 сентября 2011

Нашел проблему, я устанавливал минимальную / максимальную дату в методе initwithnib.Когда я изменил его на метод viewDidLoad, он работал нормально.возгласы.

...