我有2个日期选择器连接到2个不同的文本字段,两个都在单页中实现,并且都具有相同的代码(几乎是代码中的一些var以收集数据)。 第一个就像魅力一样。但问题是当点击第二个文本字段时,显示标准文本键盘,当我点击文本字段时,我添加了一个代码来解除键盘(从另一个文本字段中解除实际键盘),所以这个键盘被解雇了。 当我再次点击文本字段时弹出日期选择器时,事情变得更加怪异。 第一个日期选择器的代码:
@IBAction func CallPicker(sender: UITextField) {
var datePickerView:UIDatePicker = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Time
sender.inputView = datePickerView
datePickerView.addTarget(self, action: Selector("datePickerValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)
}
func datePickerValueChanged(sender: UIDatePicker) {
var dateformatter = NSDateFormatter()
dateformatter.dateStyle = NSDateFormatterStyle.ShortStyle
dateformatter.dateFormat = "hh:mm"
timeField.text = dateformatter.stringFromDate(sender.date)
}
第二个日期选择器的代码:
@IBAction func secondCallPicker(sender: UITextField) {
var datePickerView2:UIDatePicker = UIDatePicker()
datePickerView2.datePickerMode = UIDatePickerMode.Time
sender.inputView = datePickerView2
datePickerView2.addTarget(self, action: Selector("secondPickerValueChanged:"), forControlEvents: UIControlEvents.ValueChanged)
}
func secondPickerValueChanged(sender: UIDatePicker) {
var dateformatter = NSDateFormatter()
dateformatter.dateStyle = NSDateFormatterStyle.ShortStyle
dateformatter.dateFormat = "hh:mm"
secondTimeLabel.text = dateformatter.stringFromDate(sender.date)
}
关掉键盘:
override func viewDidLoad() {
super.viewDidLoad()
var tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: "DismissKeyboard")
view.addGestureRecognizer(tap)
我添加了这个功能:
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)}
func DismissKeyboard(){
view.endEditing(true)
}
我做错了什么?以及如何在第一次点击时获取第二个文本的日期选择器?