繁体   English   中英

如何在UIDatePicker中禁用AM / PM

[英]How to disable AM/PM in UIDatePicker

如何从代码/接口构建器中禁用或隐藏UIDatePicker AM / PM?

我想在UIDatePicker有24小时时间选择器模式。 请帮忙

根据文档,您应该能够将UIDatePicker的locale属性设置为使用24小时格式的语言环境。

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

唉有一个错误导致模拟器和设备根据用户的国际偏好继续布局日期选择器。

正如您所建议的那样,您必须滚动您的赢得日期选择器才能显示24小时选择器。

AFAIK你不能(在SDK的范围内)。 如果用户选择使用24小时格式,AP / PM将消失。 如果这很重要,请创建自己的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小时内选择(选择器没有上午/下午部分,英文)文本)。

这个问题是,当你在这里获取日期时,语言环境可能是错误的 - >

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

这样做是为了修复日期更改选择部分中的区域设置:

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

这将从拾取器中移除AM / PM ...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM