Вопрос по iphone, objective-c, uidatepicker – UIDatePicker в режиме UIDatePickerModeCountDownTimer: как получить / установить часы и минуты с помощью кода?

2

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

Ситуация:

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

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

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

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

Ваш Ответ

1   ответ
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 на тот, который вы получаете из БД, и вы должны быть отсортированы :)

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

Похожие вопросы