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

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

Положението:

  • Имам интерфейс, в който потребителят избира само часове и минути. След това той записва информацията (така че трябва да получа часовете и минутите от UIDatePicker чрез код, за да запазя в DB).

  • Когато потребителят редактира записаната преди това информация, искам да стартирам интерфейса със запазените часове/минути (така че трябва да задам часове и минути на UIDatePicker чрез код със стойности от DB).

Как да направя това с UIDatePicker в режим UIDatePickerModeCountDownTimer?

Благодаря предварително.


person reinaldoluckman    schedule 13.03.2010    source източник


Отговори (1)


Трябва да използвате свойството 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 с този, който получавате от DB и трябва да бъдете сортирани :)

person Paulo Fierro    schedule 13.03.2010