如何为多个Textfield设置一个datepicker。
我正在尝试创建一个演示,在登记页面上,我有3个Textfield,从日期,日期和出生日期和日期。我想为所有Textfield使用日期选择器和时间选择器。我给了代表并制定了一个行动,但它不起作用。我该怎么做。有人可以指导我吗?
这是我的代码
txtCopy.delegate = self
txtConvert.delegate = self
txtToCopy.delegate = self
self.txtCopy.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
self.txtConvert.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
self.txtToCopy.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
objc
func cancelAction(_ textField: UITextField) {
self.txtConvert.resignFirstResponder()
}
@objc
func doneAction(_ textField: UITextField) {
if let datePickerView = txtCopy!.inputView as? UIDatePicker {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let dateString = dateFormatter.string(from: datePickerView.date)
if self.selectedTextField!.tag == 0 {
self.txtConvert.text = dateString
print(datePickerView.date)
print(dateString)
self.txtConvert.resignFirstResponder()
}
else if self.selectedTextField!.tag == 1 {
self.txtCopy.text = dateString
print(datePickerView.date)
print(dateString)
self.txtCopy.resignFirstResponder()
} else if self.selectedTextField!.tag == 2 {
self.txtToCopy.text = dateString
print(datePickerView.date)
print(dateString)
self.txtToCopy.resignFirstResponder()
}
}
}
I'm Trying to Create a Demo, On Register Page I have 3 TextField, From date and To Date and Date of Birth. I want to use Date Picker and Time Picker for all the textfield. I gave delegate and created a action as well, but it is Not working. How can I do this. Can someone guide me.
here is my code
txtCopy.delegate = self
txtConvert.delegate = self
txtToCopy.delegate = self
self.txtCopy.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
self.txtConvert.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
self.txtToCopy.datePicker(target: self,
doneAction: #selector(doneAction(_:)),
cancelAction: #selector(cancelAction(_:)),
datePickerMode: .date)
objc
func cancelAction(_ textField: UITextField) {
self.txtConvert.resignFirstResponder()
}
@objc
func doneAction(_ textField: UITextField) {
if let datePickerView = txtCopy!.inputView as? UIDatePicker {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
let dateString = dateFormatter.string(from: datePickerView.date)
if self.selectedTextField!.tag == 0 {
self.txtConvert.text = dateString
print(datePickerView.date)
print(dateString)
self.txtConvert.resignFirstResponder()
}
else if self.selectedTextField!.tag == 1 {
self.txtCopy.text = dateString
print(datePickerView.date)
print(dateString)
self.txtCopy.resignFirstResponder()
} else if self.selectedTextField!.tag == 2 {
self.txtToCopy.text = dateString
print(datePickerView.date)
print(dateString)
self.txtToCopy.resignFirstResponder()
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我找到的答案。
将此扩展名添加到您的班级中。
** textfield的扩展**
如何使用
创建变量
在视图didload方法中
**调用@OBJC方法**
Answer I found.
Add this Extension to your Class.
**Extension For TextField **
How To use
create variable
In Your View DidLoad method
**Call @objc methods **