我在我的应用程序中创建了一个 UIDatePicker,并且还支持多种语言。我的 UIDatePicker 是在 Interface Builder 中创建的,并且我创建了一个单独的本地化 XIB,以便我可以自定义我的 UIDatePicker。
在 IB 中设置“区域设置”选项似乎没有任何作用。尝试使用 Locale 和 NSCalender 以编程方式更改我的 DatePicker 也不会通过以下代码执行任何操作:
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@"es_ES"];
datePicker.locale = locale;
datePicker.calender = [locale objectForKey:NSLocaleCalender];
这会产生一个英语选择器。
这确实是一件很奇怪的事情。 “今天”这个词被翻译了。如所附屏幕截图所示。 (好吧,我不允许发布图像。但是想象一下日期和时间选择器,其中英文为“May”,“Today”写为“Ajourd'hui”。
根据我所读到的内容,以编程方式添加 UIDatePicker 似乎没有多大帮助。
最佳答案
经过进一步调查,这实际上不是iPhone的语言设置处理的。 UIDatePicker 根据“区域格式”设置而不是语言自动本地化。这很奇怪,因为日期是本地化的,因此您可能会认为选择器的本地化将链接到 iDevice 的语言而不是区域格式。
无论如何,要在模拟器中模拟本地化的 DatePicker:
- 退出您的应用,前往“设置”。
- 选择常规
- 选择国际
- 选择底部选项“区域格式”。
- 更改为所需区域。
- 重新启动您的应用并查看新的 UI 选择器!
关于iphone - UIDatePicker - 问题本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2894161/