iPhone: DatePicker dd / mm / aaaa

Estoy usando un DatePicker con windows emergentes cuando un usuario hace clic en un campo de text. Sin embargo, el Seleccionador muestra Mes primero, no date primero y no es una forma británica de escribir una date. ¿Hay alguna forma de configurar el formatting de date en DatePicker a modo británico como dd / mm / aaaa? Estoy usando una Achtionsheet:

-(IBAction)acsheet:(id)sender { actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:nil cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:nil]; [actionSheet setActionSheetStyle:UIActionSheetStyleBlackTranslucent]; //CGRect pickerFrame = CGRectMake(0, 45, 0, 0); pickerView1 = [[UIDatePicker alloc] init]; pickerView1.datePickerMode = UIDatePickerModeDate; [actionSheet addSubview:pickerView1]; UISegmentedControl *closeButton = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObject:@"Close"]]; closeButton.momentary = YES; closeButton.frame = CGRectMake(260, 7.0f, 50.0f, 30.0f); closeButton.segmentedControlStyle = UISegmentedControlStyleBar; closeButton.tintColor = [UIColor blackColor]; [closeButton addTarget:self action:@selector(dismissActionSheet:) forControlEvents:UIControlEventValueChanged]; [actionSheet addSubview:closeButton]; [actionSheet showInView:[[UIApplication shanetworkingApplication] keyWindow]]; [actionSheet setBounds:CGRectMake(0, 0, 320, 485)]; [pickerView1 addTarget:self action:@selector(updateLabel:) forControlEvents:UIControlEventValueChanged]; UIBarButtonItem *spacer = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(dismissDatePicker:)] ; UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 44)]; toolBar.tag = 11; toolBar.barStyle = UIBarStyleBlackTranslucent; [toolBar setItems:[NSArray arrayWithObjects:spacer, doneButton, nil]]; [self.view addSubview:toolBar]; } 

El UIDatePicker , de forma pnetworkingeterminada, utiliza lo que [NSLocale currentLocale] .

La propiedad de la locale en UIDatePicker estaba en desuso en iOS 5, pero creo que podría hacer lo siguiente:

 NSCalendar *cal = [NSCalendar currentCalendar]; cal.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"]; myDatePicker.calendar = cal; 

Esto debería funcionar. Si no lo hace, presente un error y lo solucionaré. 🙂

El UIDatePicker está hecho para adaptarse a la configuration del usuario. Cambiar su formatting utilizando el locale: método era posible pero ahora está en desuso en iOS 5.0.

Puedes ver tu formatting en la configuration de tu iPhone:

Configuración> General> Internacional> Formato de región

Si desea un formatting específico, considere hacer su propio selector pero es muy desalentador para un datepicker.

Al escribir el mes en el text, el británico probablemente pondría el mes primero (o al less sería aceptable).

Pero para responder a su pregunta, no conozco una forma de cambiar el formatting de visualización del datepicker, pero podría hacer que usted sea el propietario de un UIPickerView con un delegado personalizado y una fuente de datos.