Подтвердить что ты не робот

Как отключить AM/PM в UIDatePicker

Как отключить или скрыть AM/PM в UIDatePicker от конструктора кода/интерфейса?

Я хочу иметь режим выбора времени в 24 часа в UIDatePicker. Пожалуйста, помогите

4b9b3361

Ответ 1

В соответствии с документацией вы должны установить свойство locale UIDatePicker в локаль, которая использует формат 24 часа.

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

Увы, есть ошибка, которая заставляет и симулятор, и устройство продолжать компоновку выбора даты в соответствии с международными предпочтениями пользователей.

Как вы полагаете, вам нужно свернуть ваш выигравший выбор даты, чтобы отображать сборщик 24 часов.

Ответ 2

AFAIK вы не можете (в пределах SDK). AP/PM исчезнет, ​​если пользователь решит использовать 24-часовой формат. Создайте свой собственный UIPickerView, если это важно.

Ответ 3

AM/PM связан с настройками локали iphone. Вы можете либо заставить локаль сборщика к чему-то, что не имеет AM/PM, например, ro_RO, или если вы хотите, чтобы все время с AM/PM вы могли с en_US. Для настроек вы можете сделать это в дизайнере с правой стороны по языку, например, по английскому (США) или по коду

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

Ответ 4

Я знаю, что это старый... но я изучал это недавно и нашел это через некоторое тестирование:

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

В основном это говорит мне, что "язык" - английский (часть "en" ), а "стиль времени" - французский (по умолчанию 24 часа) (часть "FR" ). Я объединил два испытания и ошибки и обнаружил, что он работает на то, что я хотел, и это было просто для того, чтобы выбрать сборщик "Дата и время", который также выбирается в течение 24 часов (нет секции AM/PM на сборщике, на английском языке текст).

Проблема с этим заключается в том, что когда вы берете дату здесь, локаль может быть неправильной →

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

Итак, сделайте это, чтобы исправить локаль в части выбора изменения даты:

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

Ответ 5

Это удаляет AM/PM из сборщика...

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