2 votes

UIDatePicker en mode UIDatePickerModeCountDownTimer : comment obtenir/régler les heures et les minutes via le code ?

Comment obtenir/régler les heures et les minutes par code à partir d'un UIDatePicker en mode UIDatePickerModeCountDownTimer ?

La situation :

  • J'ai une interface dans laquelle un utilisateur sélectionne uniquement les heures et les minutes. Ensuite, il enregistre les informations (je dois donc récupérer les heures et les minutes de UIDatePicker via un code pour les enregistrer dans une base de données).

  • Lorsque l'utilisateur modifie les informations sauvegardées précédemment, je veux démarrer l'interface avec les heures/minutes sauvegardées (je dois donc définir les heures et les minutes de UIDatePicker via le code avec les valeurs de la base de données).

Comment faire avec le UIDatePicker en mode UIDatePickerModeCountDownTimer ?

Merci d'avance.

20voto

Paulo Fierro Points 374

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

La durée du compte à rebours est exprimée en secondes, vous pouvez donc la calculer à partir d'une NSDate comme suit (pour la tester, il suffit de la déposer dans le fichier 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];

Ainsi, si l'heure actuelle est 17:28, la fonction UIDatePicker affichera "17 heures 28 minutes". Remplacez simplement la NSDate par celle que vous obtenez de la base de données et vous devriez être fixé :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X