UIDatePicker - Problem Localizing

别来无恙 提交于 2019-11-27 15:06:53
Smorpheus

After further investigation, this is actually not handled by the language setting of the iPhone. The UIDatePicker is automatically localized based on the "Region Format" setting and not the language. This is odd because the dates are localized, so you would think the localization of the picker would be linked to the iDevice's language not the Region Format.

Anyway, to simulate the localized DatePicker in the Simulator:

  1. Exit your app, go to Settings.
  2. Select General
  3. Select International
  4. Select the bottom option, Region Format.
  5. Change to the desired region.
  6. Relaunch your app and see the new UI Picker!
Mike

As of iOS 6 UIDatePicker no longer looks at the device's settings for locale information. You must may set the NSLocale manually or it will use the default locale.

See this answer: https://stackoverflow.com/a/12975871/1128896

A simple solution:

   datePicker.locale = [NSLocale currentLocale];

Updated

While the locale can now be set on UIDatePicker, by default it is set to 'Default' instead of any particular language. 'Default' will check the device's locale, and set itself to that. (see Dave DeLong's comment below). Therefore, most new projects shouldn't be impacted by this change.

If you are working with older projects, migrating to iOS 6, you may find that the UIDatePickers which are created in xibs have their locale defaulted to 'English' or another language instead of 'Default'. (I've found all of my old projects, pre iOS6, followed this behavior). To fix this, simply change the locale to 'Default' in IB.

What I am given to understand is that the UIDatePicker automatically shows in the locale the device is set as. I'm not sure how to override it, but it seems like you probably shouldn't override it.

From my experience the "Today" is following the settings you have in your info.plist. For some reasons they've forgotten to adapt this.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!