UIDatePicker: режим времени: инициализировать время (должно быть просто) - PullRequest
3 голосов
/ 02 сентября 2010

Все,

Это кажется такой простой вещью, но я не могу * найти правильный метод для создания UIDatePicker в режиме времени и инициализации его в определенное время.Я не хочу, чтобы дата - просто время (думаю, будильник).Я создал объект NSDate:

NSDate * date = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate: (NSTimeInterval) delta];
pickerView = [[UIDatePicker alloc] init];  // which should be 'now' right?
pickerView.datePickerMode = UIDatePickerModeTime;  // which creates just the clock
[pickerView setDate:date];

, и в первой строке интервал (дельта) равен нулю.Отображается 7:00 вечера.

Это должно быть так просто, что мне не хватает его, но я не могу найти правильный путь - кто-нибудь?

Заранее спасибо!

:бп:

* да, я смотрел, но, видимо, не в правильных местах: (

Ответы [ 3 ]

0 голосов
/ 09 сентября 2010

Спасибо, ДКК, я ценю вашу помощь. Реальный ответ состоял в том, чтобы не использовать DatePicker, а использовать PickerView (без даты). Это сделало вещи проще и выполнимыми. Еще раз спасибо.

0 голосов
/ 07 августа 2015
NSDate *date = [NSDate date];
date = [[NSCalendar autoupdatingCurrentCalendar] dateFromComponents:[[NSCalendar autoupdatingCurrentCalendar] components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date]];
date = [date dateByAddingTimeInterval:60 * 60 * 21];

pickerView.date = date;

Шаги с датой:

  • дата инициализации с текущей датой
  • получение даты в полночь
  • добавление временного интервала кдата (60 секунд * 60 минут * час).В этом случае 21 = 9 вечера

Это работает для UIDatePicker с datePickerMode из UIDatePickerModeTime & UIDatePickerModeCountDownTimer

0 голосов
/ 02 сентября 2010

Примите во внимание часовой пояс. Вы получите 0:00, только если вы в UTC.

...