Swift 设置区域设置时UIDatePicker错误的时间位置

Swift 设置区域设置时UIDatePicker错误的时间位置,swift,locale,uidatepicker,nslocale,Swift,Locale,Uidatepicker,Nslocale,我有一个UIDatePicker,它显示日期和时间UIDatePickerMode.dateAndTime,当我以阿拉伯语呈现选择器时,选择器通常在左侧显示小时,右侧显示分钟,没有问题,如下图所示: 但是,如果我将语言从英语改为阿拉伯语,选择器会按如下所示的时间和分钟切换时间: 我根据用户选择的语言将语言环境设置为: if CURRENT_LANGUAGE_IS_ARABIC == true{ pickerDate.locale = NSLocale.init(localeIdentifi

我有一个
UIDatePicker
,它显示日期和时间
UIDatePickerMode.dateAndTime
,当我以阿拉伯语呈现选择器时,选择器通常在左侧显示小时,右侧显示分钟,没有问题,如下图所示:

但是,如果我将语言从英语改为阿拉伯语,选择器会按如下所示的时间和分钟切换时间:

我根据用户选择的语言将
语言环境设置为:

if CURRENT_LANGUAGE_IS_ARABIC == true{
 pickerDate.locale = NSLocale.init(localeIdentifier: "ar") as Locale

}else{
 pickerDate.locale = NSLocale.init(localeIdentifier: "en") as Locale
}
编辑:从阿拉伯语更改为英语时,选择器在错误的位置显示小时数:


确保添加
semanticContentAttribute

  pickerDate.locale = NSLocale.init(localeIdentifier: "ar") as Locale
  self.pickerDate.semanticContentAttribute = .forceRightToLeft

你找到解决办法了吗?