繁体   English   中英

日期选择器无法打开,请先在Swift 2.2中单击文本字段

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM