Как я могу взять дату из средства выбора даты, а затем снова поставить ее? - PullRequest
0 голосов
/ 04 января 2011

Я пробовал множество способов сделать это, но я не могу заставить его работать. Итак, вот что я хочу точнее - вы нажимаете кнопку, она берет дату и время, установленные в указателе даты, и сохраняет их (скорее всего, в NSDate, хотя я пытался преобразовать их назад и вперед между этим и NSString - не сделал) т работа). Затем вы нажимаете другую кнопку, и она сохраняет сохраненную дату и время и устанавливает указатель даты в качестве этой даты и времени.

Предложения о том, как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 04 января 2011
@property (retain) NSDate *savedDate;
@property (retain) IBOutlet UIDatePicker *datePicker;

// To save the date:
self.savedDate = datePicker.date;

// To put it back into the picker:
datePicker.date = self.savedDate;
0 голосов
/ 04 января 2011

Вы фактически обрабатываете изменения в датчике по мере их внесения, регистрируете изменение UIControlEventValue с помощью метода в своем классе с помощью парадигмы селектора:

[dateSelector addTarget:self
   action:@selector(processDateSelection:)
   forControlEvents:UIControlEventValueChanged];

Затем в этом методе обрабатывается время на этом инструментеметод (мой пишет это bac в UITextField:

control.text = [NSString stringWithFormat:@"%@", [df stringFromDate: dateSelector.date]];

Чтобы установить дату в средстве выбора, используйте объект NSDate (с dateFormatter):

[df setDateFormat:@"yyyy-MM-dd"];
   NSDate *defaultDate = [df dateFromString: textField.text];
   dateSelector.date = defaultDate;

Вам также понадобитсяМетод at, позволяющий отклонить средство выбора даты, поскольку логического «конца» нет, как в стандартном средстве выбора. Я просто привязал метод к кнопке, установил его в качестве UIAccessoryView в средстве выбора даты, и этот метчик «отстегнул» средство выбора.

...