pickers delegate birthdate iphone cocoa-touch interface-builder uidatepicker

iphone - delegate - swift 4 datepicker



Cómo deshabilitar AM/PM en UIDatePicker (5)

AFAIK no puede (dentro de los límites de SDK). El AP / PM desaparecerá si el usuario elige usar el formato de 24 horas. Haga su propio UIPickerView en caso de que esto sea importante.

¿Cómo deshabilitar u ocultar AM / PM en UIDatePicker del UIDatePicker de código / interfaz?

Quiero tener el modo selector de tiempo de 24 horas en UIDatePicker . Por favor ayuda


De acuerdo con la documentación, debería poder establecer la propiedad de locale de UIDatePicker en una configuración regional que use un formato de 24 horas.

NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"da_DK"]; [datePicker setLocale:locale]; [locale release];

Por desgracia, hay un error que hace que tanto el simulador como el dispositivo continúen diseñando el selector de fechas de acuerdo con las preferencias internacionales de los usuarios.

Como sugiere, tiene que sacar su selector de fecha ganada para poder mostrar un selector de 24 horas.


El AM / PM está vinculado con la configuración regional del iPhone. Puede forzar la configuración regional del selector a algo que no tenga AM / PM como ro_RO o, en caso de que lo desee todo el tiempo, con AM / PM puede ir con en_US. Para configuraciones, puedes hacerlo en el diseñador en el lado derecho debajo de la configuración regional como Inglés (Estados Unidos) o por código

[timePicker setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];


Esto elimina el AM / PM del selector ...

UIDatePicker *myDatePicker = [[UIDatePicker alloc]init]; [myDatePicker setDatePickerMode:UIDatePickerModeDate];


Sé que esto es viejo ... pero estuve investigando esto recientemente y lo encontré a través de algunas pruebas:

[datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];

Básicamente, esto me dice que el "idioma" es el inglés (la parte "en") y el "estilo de tiempo" es el francés (que es el tiempo predeterminado de 24 horas) (la parte "FR"). Combiné los dos a través de prueba y error y descubrí que funcionaba para lo que quería, que era solo para tener un selector de "Fecha y hora" que también se selecciona en 24 horas (no hay una sección AM / PM en el selector, en inglés). texto).

El problema con esto es que, al capturar la fecha aquí, la configuración regional puede ser incorrecta ->

- (void)changeDate:(UIDatePicker *)sender {

Entonces, haga esto para corregir la configuración regional en la parte de selección de cambio de fecha:

[sender setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];