更改语言环境时,iOS datepicker的最大/最小日期不起作用?

时间:2018-08-14 02:52:45

标签: ios swift uidatepicker

我有一个项目,我需要在应用程序启动设置中切换语言环境,但是经过几次测试,我意识到当我更改为英语以外的其他语言时,日期picker.maximum / minimum无法正常工作。我正在使用radianttap的语言切换器框架在设置/登录屏幕上切换语言环境。

切换语言的代码:

func checkLanguageSelected(langSelected: String){
    switch langSelected {
    case "English":
        Locale.updateLanguage(code: "en")
    case "မြန်မာ":
        Locale.updateLanguage(code: "my")
    default:
        break
    }
}

这是我设置日期选择器的代码:

let datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.date
//datePickerView.locale = NSLocale.init(localeIdentifier: "en") as Locale
let maxDateString = "01-Jan-2006"
let minDateString = "01-Jan-1916"
let dateFormatter:DateFormatter = DateFormatter()
//dateFormatter.locale = NSLocale.init(localeIdentifier: "en") as Locale
dateFormatter.dateFormat = "dd-MM-yyyy"
let maxDate:Date? = dateFormatter.date(from: maxDateString)
let minDate:Date? = dateFormatter.date(from: minDateString)
datePickerView.maximumDate = maxDate
datePickerView.minimumDate = minDate
dateOfBirth.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(datePickerFromValueChanged(sender:)), for: UIControlEvents.valueChanged)

我正在使用链接到IBAction的UITextfield进行编辑,确实开始在文本字段“ dateOfBirth”上显示日期选择器。有人知道吗只要该应用以英语启动,那么最大/最小日期就可以使用,但不能在其他语言上使用。我尝试将datepicker和dateformatter的语言环境都设置为“ en”,但是在英语设置上它也破坏了datepicker的最大/最小日期。 有人以前遇到过此类问题吗?

1 个答案:

答案 0 :(得分:1)

显然是xcode错误?不确定,我重新启动了xcode,更改语言环境不会再与datepicker的最大/最小设置发生冲突。