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

标签 ios swift uidatepicker

我有一个项目,我需要在应用程序启动设置中切换区域设置,但是经过几次测试后,我意识到当我更改为英语以外的另一种语言时,日期选择器.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 在英语设置上的最大/最小日期。 以前有人遇到过此类问题吗?

最佳答案

显然这是一个 xcode 错误?不确定,我重新启动了 xcode,区域设置的更改不会再与 datepicker 的最大/最小设置混淆。

关于更改语言环境时,iOS 日期选择器最大/最小日期不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51833062/

相关文章:

ios - 在没有 Storyboard 的情况下在 AppDelegate 中设置 UIWindow

iphone - UIImage 在 UIDatepicker 上未正确对齐(仅在设备中)

iphone - 如何检测iPhone中特定声音的声音频率?

ios - 试图了解 Parse 文件存储

ios - 如何使用 jazzy 来记录我的 swift 项目?

ios - 拍摄照片或从照片库中选择照片后,UIImageView 未使用新图像更新

ios - NSManagedObject 类似通用对象

string - 更改 UIDatePicker 文本颜色

reactjs - 日期选择器 - RangeError : invalid time value

c++ - App Store 是否允许带有嵌入式 dylib 的 iOS 8 应用程序?