本地化+自定义UIDatePicker

时间:2017-11-01 06:26:32

标签: ios swift localization uidatepicker

我需要自定义和本地化UIDatePicker的{​​{1}}模式的日期格式,以便它以DateAndTime语言显示日期数字加上时间24小时格式和阿拉伯数字。

英语中的等效行为:Arabic

我已经尝试过在SO上提出的所有解决方案,从更改区域设置到更改设备语言,但无济于事。

1 个答案:

答案 0 :(得分:2)

让我们分解它:

  • 要将日期选择器的内容显示为阿拉伯语,您需要将其设置为所需的locale
  

日期选择器使用的区域设置。

  • 要更改日期选择器的格式,嗯......这取决于使用的区域设置;如UIDatePicker中所述 - 国际化:
  

日期选择器处理自己的国际化;你唯一的事   需要做的是指定适当的语言环境。你可以选择一个   通过设置日期选择器显示的特定区域设置   “属性”检查器中的区域设置(区域设置)字段。这改变了   日期选择器用于显示的语言,,但格式为   日期和时间(例如,前几天的某些区域设置   月份名称,或者更喜欢12小时制的24小时制) ......

表示设置所需的语言环境以更改语言也会影响日期选择器的格式日期。

粗略地说,设置两种语言和格式不适用于您的情况,您应该选择所需的语言或所需的日期格式。

但是,应用第一个点(更改日期选择器区域设置):

datePicker.locale = Locale(identifier: "ar")

应该导致以下输出:

enter image description here

另外,还有以下问题:

Show Time in 12 and 24 hour format in UIDatePicker on the basis of app settings not on device Settings

还与更改日期选择器格式有关。