From 1425bbe004ad44db8b0131e7ccad1b4cdc2471d9 Mon Sep 17 00:00:00 2001 From: Igor Kislyuk Date: Thu, 27 Apr 2017 13:43:37 +0300 Subject: [PATCH] Fix. KVO & value passing --- UIAnimatedTextField.podspec | 2 +- .../Source/UIAnimatedTextField.swift | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/UIAnimatedTextField.podspec b/UIAnimatedTextField.podspec index bdbb334..42c4c23 100644 --- a/UIAnimatedTextField.podspec +++ b/UIAnimatedTextField.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'UIAnimatedTextField' - s.version = '0.1.11' + s.version = '0.1.12' s.summary = 'UITextField with animated placeholder' s.description = <<-DESC This custom control can be used as a replacement for UITextField. It comes with 5 different text types: simple, password, url, tappable, date. diff --git a/UIAnimatedTextField/Source/UIAnimatedTextField.swift b/UIAnimatedTextField/Source/UIAnimatedTextField.swift index cc2a58a..359334b 100644 --- a/UIAnimatedTextField/Source/UIAnimatedTextField.swift +++ b/UIAnimatedTextField/Source/UIAnimatedTextField.swift @@ -194,7 +194,7 @@ open class UIAnimatedTextField: UIView { } } - public var selectedDate: Date? + public dynamic var selectedDate: Date? public var dateFormat: String = Constants.defaultDateFormat public var doneTitle: String = Constants.done { didSet { @@ -426,8 +426,7 @@ open class UIAnimatedTextField: UIView { } @objc private func datePickerValueChanged(_ datePicker: UIDatePicker) { - selectedDate = datePicker.date - text = datePicker.date.toString(withFormat: dateFormat) + updateText(from: datePicker) } private func getDateInputAccessoryView() -> UIView { @@ -451,8 +450,16 @@ open class UIAnimatedTextField: UIView { return toolbar } + + private func updateText(from datePicker: UIDatePicker) { + selectedDate = datePicker.date + text = datePicker.date.toString(withFormat: dateFormat) + } @objc private func datePickerDoneAction() { + if let datePicker = textField.inputView as? UIDatePicker { + updateText(from: datePicker) + } textField.resignFirstResponder() }