【发布时间】:2019-12-06 05:13:26
【问题描述】:
我是 Swift 新手,在 IQKeyboardManagerSwift 上显示 datepickerview 时遇到问题
我正在尝试这样的代码,但它不起作用
func textFieldDidBeginEditing(_ textField: UITextField) {
self.dischargeDateTextField = textField
// Create a date picker for the date field.
let picker = UIDatePicker()
picker.datePickerMode = .date
picker.addTarget(self, action: #selector(updateDateField(sender:)), for: .valueChanged)
// If the date field has focus, display a date picker instead of keyboard.
// Set the text to the date currently displayed by the picker.
textField.inputView = picker
textField.text = formatDateForDisplay(date: picker.date)
}
// Called when the date picker changes.
@objc func updateDateField(sender: UIDatePicker) {
dischargeDateTextField?.text = formatDateForDisplay(date: sender.date)
}
// Formats the date chosen with the date picker.
fileprivate func formatDateForDisplay(date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = "dd MMM yyyy"
return formatter.string(from: date)
}
我需要“yyyy-mm-dd”中的日期格式,但它只显示在图像中
我这样改代码
fileprivate func formatDateForDisplaySurgery(date: Date) -> String {
let formatter = DateFormatter()
formatter.dateFormat = "yyy-mm-dd"
return formatter.string(from: date)
}
但它也不起作用
【问题讨论】:
-
这是特定于语言环境的。请参考此链接,stackoverflow.com/a/13952239/3825016
-
您在 formatDateForDisplaySurgery 方法中更新的代码只会反映在您的 textField 显示中。它不会改变日期选择器的显示。
标签: ios swift datepicker