Как отключить или скрыть AM/PM в UIDatePicker
от конструктора кода/интерфейса?
Я хочу иметь режим выбора времени в 24 часа в UIDatePicker
.
Пожалуйста, помогите
Как отключить или скрыть AM/PM в UIDatePicker
от конструктора кода/интерфейса?
Я хочу иметь режим выбора времени в 24 часа в UIDatePicker
.
Пожалуйста, помогите
В соответствии с документацией вы должны установить свойство locale
UIDatePicker в локаль, которая использует формат 24 часа.
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"da_DK"];
[datePicker setLocale:locale];
[locale release];
Увы, есть ошибка, которая заставляет и симулятор, и устройство продолжать компоновку выбора даты в соответствии с международными предпочтениями пользователей.
Как вы полагаете, вам нужно свернуть ваш выигравший выбор даты, чтобы отображать сборщик 24 часов.
AFAIK вы не можете (в пределах SDK). AP/PM исчезнет, если пользователь решит использовать 24-часовой формат. Создайте свой собственный UIPickerView
, если это важно.
AM/PM связан с настройками локали iphone. Вы можете либо заставить локаль сборщика к чему-то, что не имеет AM/PM, например, ro_RO, или если вы хотите, чтобы все время с AM/PM вы могли с en_US. Для настроек вы можете сделать это в дизайнере с правой стороны по языку, например, по английскому (США) или по коду
[timePicker setLocale:[NSLocale localeWithLocaleIdentifier:@"en_US"]];
Я знаю, что это старый... но я изучал это недавно и нашел это через некоторое тестирование:
[datePicker setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];
В основном это говорит мне, что "язык" - английский (часть "en" ), а "стиль времени" - французский (по умолчанию 24 часа) (часть "FR" ). Я объединил два испытания и ошибки и обнаружил, что он работает на то, что я хотел, и это было просто для того, чтобы выбрать сборщик "Дата и время", который также выбирается в течение 24 часов (нет секции AM/PM на сборщике, на английском языке текст).
Проблема с этим заключается в том, что когда вы берете дату здесь, локаль может быть неправильной →
- (void)changeDate:(UIDatePicker *)sender {
Итак, сделайте это, чтобы исправить локаль в части выбора изменения даты:
[sender setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_FR"]];
Это удаляет AM/PM из сборщика...
UIDatePicker *myDatePicker = [[UIDatePicker alloc]init];
[myDatePicker setDatePickerMode:UIDatePickerModeDate];