当我从The following types do not unify:
(nat ⇒ complex) ⇒ nat set ⇒ complex
(real ⇒ complex) ⇒ real set ⇒ complex
中选择值时,单击UIDatePicker
后会显示该值,我的TextFields填写了相同的值
UITextField
我应该为每个TextField实施不同的datePicker吗?
答案 0 :(得分:3)
您将两个操作添加到日期选择器。两个文本字段使用相同的日期选择器。因此,当任一文本字段的数据选择器值更改时,两个选择器都会被调用。由于两个选择器均被调用,因此两个文本字段都将使用新值进行更新。
只有一个选择。只需向日期选择器添加一个操作即可。然后在一个选择器中,更新当前是第一响应者的文本字段。
override func viewDidLoad() {
super.viewDidLoad()
datepickerView = UIDatePicker()
datepickerView?.datePickerMode = .time
datepickerView?.addTarget(self, action: #selector(timeChanged), for: .valueChanged)
workHoursStartTextField.inputView = datepickerView
workHoursEndTextField.inputView = datepickerView
}
@objc func timeChanged(datePicker: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm"
let str = dateFormatter.string(from: datePicker.date)
if workHoursStartTextField.isFirstResponder {
workHoursStartTextField.text = str
} else {
workHoursEndTextField.text = str
}
}