我的 datePicker
View 在第一次单击文本字段时无法打开。如果我第二次单击它,则会打开日期选择器 View 。在这种情况下我很困惑。为什么第一次点击打不开?如何在第一次点击 UITextField
时显示日期选择器 View ?
我尝试过的代码:
@IBAction func datePick(sender: UITextField)
{
let datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(SendSMS.showDatePicker), forControlEvents: UIControlEvents.ValueChanged)
}
func showDatePicker(sender: UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let timeFormatter = NSDateFormatter()
timeFormatter.dateFormat = "HH:mm:SS"
timeField.text = timeFormatter.stringFromDate(sender.date)
dateField.text = dateFormatter.stringFromDate(sender.date)
}
输出:
最佳答案
不要使用 textField
设置操作,而是尝试使用 UITextFieldDelegate
的委托(delegate)方法。
func textFieldDidBeginEditing(textField: UITextField!) { //delegate method
if textField == dateField {
let datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
textField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(SendSMS.showDatePicker), forControlEvents: UIControlEvents.ValueChanged)
}
}
关于ios - 日期选择器在 swift 2.2 中首次单击文本字段时无法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39507306/