2010-03-13 3 views
2

Как получить/установить часы и минуты через код из UIDatePicker в режиме UIDatePickerModeCountDownTimer?UIDatePicker в режиме UIDatePickerModeCountDownTimer: как получить/установить часы и минуты через код?

ситуация:

  • У меня есть интерфейс в том, что пользователь выбирает только часы и минуты. Затем он сохраняет информацию (так что я должен получить часы и минуты от UIDatePicker через код, чтобы сохранить в БД).

  • Когда пользователь редактирует сохраненную ранее информацию, я хочу запустить интерфейс с сохраненными часами/минутами (так что я должен установить часы и минуты UIDatePicker через код со значениями из БД).

Как это сделать с помощью UIDatePicker в режиме UIDatePickerModeCountDownTimer?

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

ответ

20

Вы должны использовать свойство countDownDuration в UIDatePicker, если для режима выбора даты выбрано значение UIDatePickerModeCountDownTimer.

Длительность обратного отсчета в секундах, так что вы можете рассчитывать, что из NSDate следующим образом (чтобы проверить это просто поместите его в viewDidLoad любого UIViewController):

// Create a new date with the current time 
NSDate *date = [NSDate new]; 
// Split up the date components 
NSDateComponents *time = [[NSCalendar currentCalendar] 
          components:NSHourCalendarUnit | NSMinuteCalendarUnit 
          fromDate:date]; 
NSInteger seconds = ([time hour] * 60 * 60) + ([time minute] * 60); 

UIDatePicker *picker = [UIDatePicker new]; 
[picker setDatePickerMode:UIDatePickerModeCountDownTimer]; 
[picker setCountDownDuration:seconds]; 
[[self view] addSubview:picker]; 

Так что, если текущее время 17 : 28, UIDatePicker покажет «17 часов 28 минут». Просто замените NSDate на тот, который вы получаете от БД, и вы должны быть отсортированы :)

+0

Большое спасибо, Пауло. Это работает отлично. – reinaldoluckman