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
你找到解决办法了吗?