2010-03-13 15 views
2

Comment obtenir/définir les heures et les minutes via le code d'un UIDatePicker en mode UIDatePickerModeCountDownTimer?UIDatePicker en mode UIDatePickerModeCountDownTimer: comment obtenir/régler les heures et les minutes via le code?

La situation:

  • J'ai une interface en ce qu'un utilisateur sélectionne quelques heures et minutes. Puis, il enregistre les informations (donc, je dois obtenir les heures et les minutes de UIDatePicker via le code pour enregistrer dans une base de données). Lorsque l'utilisateur édite les informations enregistrées précédemment, je veux démarrer l'interface avec les heures/minutes sauvegardées (donc, je dois régler les heures et minutes UIDatePicker via le code avec les valeurs de DB).

Comment puis-je faire avec le UIDatePicker en mode UIDatePickerModeCountDownTimer?

Merci d'avance.

Répondre

20

Vous devez utiliser la propriété countDownDuration dans UIDatePicker lorsque le mode de sélection de la date est défini sur UIDatePickerModeCountDownTimer.

La durée du compte à rebours est en quelques secondes, de sorte que vous pouvez calculer que d'un NSDate comme suit (pour le tester Laissez-le tomber dans le viewDidLoad de tout 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]; 

Donc, si l'heure actuelle est 17 : 28, le UIDatePicker montrera "17 heures 28 minutes". Simly remplacer le NSDate avec celui que vous obtenez de la DB et vous devriez être trié :)

+0

Merci beaucoup, Paulo. Cela fonctionne parfaitement. – reinaldoluckman