[英]How to pass the date picker (or just the date) to show the date on textfield in Swift?
[英]Date picker does not open first click on textfield in swift 2.2
我有datePicker
视图,第一次没有打开它,请单击textField。 如果我第二次单击它,则会打开日期选择器视图。 在这种情况下我很困惑。 为什么第一次单击时未打开? 如何在第一次单击UITextField
显示日期选择器视图?
我尝试的代码:
@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
设置动作, textField
尝试使用UITextFieldDelegate
委托方法。
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)
}
}
也可以通过设置TextField动作事件“ Editing Did Begin
。 如果您将动作设置为Editing Did End
,则它将第一次无效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.