J'ai une date dans UILabel (comme 'Dec 14, 2010). Cette date que je veux définir comme date minimale de mon UIDatepicker. Comment puis-je faire ceci s'il vous plaît répondre?Définir la date minimale pour UIDatePicker
Merci Nishant
J'ai une date dans UILabel (comme 'Dec 14, 2010). Cette date que je veux définir comme date minimale de mon UIDatepicker. Comment puis-je faire ceci s'il vous plaît répondre?Définir la date minimale pour UIDatePicker
Merci Nishant
Convertissez votre texte UILabel en format de date à l'aide NSDateFormatter
et de mettre cette valeur en remplaçant "Date" dans l'exemple suivant:
UIDatepicker *datePicker;
NSDate *Date=[NSDate date];
datePicker.minimumDate=Date;
Vous pouvez utiliser NSDateFormatter
et utiliser setDateFormat
méthode de fixation Format de date.
[formatter setDateFormat:@"MMM dd,yyyy"];
NSDate *date = [formatter dateFromString:lblDate.text];
datePicker.minimumDate=date;
Je l'ai fait mais ça ne marche pas j'ai date comme "Dec 14, 2010" et quand je le convertis en date, j'ai eu la valeur "nul" ....... !! – iphonedev23
utilisez [formatter setDateFormat: @ "MMM jj, aaaa"]; Vous devez définir votre format comme votre date est. utilisez la virgule et l'espace au bon endroit. –
NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
NSDate *currentDate = [NSDate date];
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
[comps setYear:0];
NSDate *maxDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[comps setYear:-5];
NSDate *minDate = [calendar dateByAddingComponents:comps toDate:currentDate options:0];
[datePicker setMaximumDate:maxDate];
[datePicker setMinimumDate:minDate];
il indiquant la date de cinq ans .......
Voir la durée minimale de la date actuelle à un mois:
NSDate* currentTime = [NSDate date];
[datePicker setMinimumDate:[currentTime dateByAddingTimeInterval:43200]];//min time +12:00 for the current date
[datePicker setMaximumDate:[currentTime dateByAddingTimeInterval:2592000]]; // max day (+ 30)
@Nishant, cela fonctionne, donc si vous avez une date sur une étiquette, convertissez d'abord cette date en objet date en utilisant dateFormatter puis utilisez minimumDate. – Ishu