DatePicker作为textView的inputView不会更新文本

时间:2016-08-18 09:46:33

标签: swift2 uitextfield uidatepicker

我使用UIDatePicker作为UITextField的输入。

datePicker.addTarget(self, action: #selector(DetailViewController.handleDatePicker(_:)), forControlEvents: UIControlEvents.ValueChanged)

我有一些使用上述UIDatePicker的UITextField:

func handleDatePicker(sender: UIDatePicker) {

        let timeFormatter = NSDateFormatter()
        timeFormatter.dateStyle = .MediumStyle

        for view in self.view.subviews {

            if view.tag == currentTagOfTextField {

                if let currentTextField = view as? UITextField {

                    currentTextField.text = timeFormatter.stringFromDate(sender.date)
                }
            }
        }
    }

当选择datePicker上当前显示的日期以外的日期时,此方法正常。 如果用户未在datePicker上更改当前显示的日期,则textField不会更新日期。仅当用户主动更改日期向前和向后文本字段时才会更新。

我认为这与行动中的.valueChanged有关,但不确定如何解决此问题。

0 个答案:

没有答案