嗨,我正在尝试在用户点击UITextField
以便为事件提供开始和结束时间时,显示UIDatePicker
而不是键盘。我的代码可以运行,但效果不好,也不是我想要的。
我的第一个问题是每当您点击其中一个UITextField
时,UIDatePicker
仅在第二次单击UITextField
时出现。否则它会显示原始键盘。
我的第二个问题是每当编辑UIDatePicker
时,仅在编辑UIDatePicker
时才更改UITextField
。我需要UITextField
在打开UIDatePicker
时立即显示UIDatePicker
中的字符串,以使UITextField
与UIDatePicker
的内容保持同步。
这是我的当前代码:
override func viewDidLoad() {
super.viewDidLoad()
var datePickerView : UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Time
StartTimeTextField.inputView = datePickerView
datePickerView.addTarget(self, action:
Selector("handleDatePicker:"), forControlEvents: UIControlEvents.ValueChanged)
var datePickerView2 : UIDatePicker = UIDatePicker()
datePickerView2.datePickerMode = UIDatePickerMode.Time
EndTimeTextField.inputView = datePickerView2
datePickerView2.addTarget(self, action: Selector("handleDatePicker2:"), forControlEvents: UIControlEvents.ValueChanged)
}
func handleDatePicker(sender: UIDatePicker) {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "hh mm am pm"
StartTimeTextField.text = dateFormatter.stringFromDate(sender.date)
}
func handleDatePicker2(sender: UIDatePicker) {
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "hh mm am pm"
EndTimeTextField.text = dateFormatter.stringFromDate(sender.date)
}
有人能帮我吗?谢谢。