myLabel 显示错误名称 (UIDatePicker)
myLabel display the wrong name (UIDatePicker)
我有一个问题,我的标签在从 DatePicker 中选择后显示错误的月份名称。
img app
代码:
let myDatePicker: UIDatePicker = {
let pv = UIDatePicker()
pv.datePickerMode = .date
pv.locale = Locale(identifier: "de_DE")
pv.addTarget(self, action: #selector(datePickerValueChanged), for: .valueChanged)
return pv
}()
@objc func datePickerValueChanged(datePicker: UIDatePicker) {
let format = "dd MMM, yyyy"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
let dateValue = dateFormatter.string(from: datePicker.date)
myLabel.text = dateValue
}
let myLabel: UILabel = {
let label = UILabel()
return label
}()
P.S 我还有一个问题,如何使用区域设置在 DatePicker 中自动设置月份的语言?
我试过了(在 myDatePicker 中):pv.locale = .current
第一个问题:
您需要 "localize" 您的 dateFormatter,使用
dateFormatter.locale = datePicker.locale
在你的 datePickerValueChanged
第二个问题:
您想检索从 iPhone 设置
检索到的正确月份名称
使用 Locale.autoupdatingCurrent
而不是 Locale(identifier: "de_DE")
.这会获取用户首选的当前语言环境,自动更新。
我有一个问题,我的标签在从 DatePicker 中选择后显示错误的月份名称。
img app
代码:
let myDatePicker: UIDatePicker = {
let pv = UIDatePicker()
pv.datePickerMode = .date
pv.locale = Locale(identifier: "de_DE")
pv.addTarget(self, action: #selector(datePickerValueChanged), for: .valueChanged)
return pv
}()
@objc func datePickerValueChanged(datePicker: UIDatePicker) {
let format = "dd MMM, yyyy"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = format
let dateValue = dateFormatter.string(from: datePicker.date)
myLabel.text = dateValue
}
let myLabel: UILabel = {
let label = UILabel()
return label
}()
P.S 我还有一个问题,如何使用区域设置在 DatePicker 中自动设置月份的语言?
我试过了(在 myDatePicker 中):pv.locale = .current
第一个问题:
您需要 "localize" 您的 dateFormatter,使用
dateFormatter.locale = datePicker.locale
在你的 datePickerValueChanged
第二个问题:
您想检索从 iPhone 设置
检索到的正确月份名称使用 Locale.autoupdatingCurrent
而不是 Locale(identifier: "de_DE")
.这会获取用户首选的当前语言环境,自动更新。