2010-03-04 3 views
1

J'essaye de créer un UIDatePicker qui permette de sélectionner des heures seulement entre 6h00 et 17h00. Les autres heures doivent être inactives mais toujours visibles. Je pense que cela peut être fait avec la mise en place du calendrier sélecteur, puis utilisez ceci:UIDatePicker hours interval (NSCalendarUnit?)

- (NSRange)maximumRangeOfUnit:(NSCalendarUnit)unit 

mais je suis sûr de savoir comment nou.

Peut-être que quelqu'un peut m'aider.

Merci!

Répondre

0

Désolé, mais UIDatePicker ne prend pas en charge la définition d'intervalles de temps valides tels que décrits. Les seules options sont les dates minimum et maximum.

Vous devrez soit créer un contrôle personnalisé à partir de zéro ou essayer de sous-classer UIDatePicker, mais ce n'est pas un chemin que je recommanderais.

+0

Merci Kirk, Je pense toujours que vous pouvez définir une plage pour un NSCalendar (voir http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSCalendar_Class/Reference/NSCalendar .html # // apple_ref/occ/instm/NSCalendar/rangeOfUnit: inUnit: forDate:), et dit à UIDatePiker d'utiliser ce calendrier, non? –

+0

Non, c'est une propriété en lecture seule sur NSCalendar, et créer votre propre NSCalendar (si c'est possible) est une option bien pire (localisation, bugs, etc.) que d'utiliser simplement UIPickerView pour créer un contrôle personnalisé. –