iphone - UIDatePicker - 问题本地化

标签 iphone cocoa datepicker ipod-touch uidatepicker

我在我的应用程序中创建了一个 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:

  1. 退出您的应用,前往“设置”。
  2. 选择常规
  3. 选择国际
  4. 选择底部选项“区域格式”。
  5. 更改为所需区域。
  6. 重新启动您的应用并查看新的 UI 选择器!

关于iphone - UIDatePicker - 问题本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2894161/

相关文章:

objective-c - Mac应用程序: 'Auto Loading' the last used Document

iphone - 您可以在 iTunes Connect 中自动注册新产品(应用程序内购买)吗?

ios 像直播一样显示视频/音频

iPhone以编程方式选择Tab并推送 View Controller

Android - 在不同的 Activity 中使用一个 DatePicker fragment

objective-c - 将当前日期添加到日期选择器 objective-C 的前一天和后一天

jquery - 如何在 jquery datepicker 中定位日期数组

ios - 向 Apple Watch 扩展程序发送通知

objective-c - 获取 NSWindow 的所有 View 和 subview

cocoa - 我如何用 Cocoa 创建一个透明且非矩形的 NSWindow?