【发布时间】:2015-11-16 03:30:31
【问题描述】:
您好,我试图在点击UITextField 时显示UIDatePicker 而不是键盘,以便用户可以给出事件的开始和结束时间。我的代码有效,但效果不佳,而且不是我想要的方式。
我的第一个问题是,每当您点击其中一个 UITextField 时,UIDatePicker 只会在第二次点击 UITextField 时出现。否则会显示原来的键盘。
我的第二个问题是,每当编辑 UIDatePicker 时,它只会在编辑 UIDatePicker 时更改 UITextField。我需要UITextField 在打开后立即在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)
}
谁能帮帮我?谢谢
【问题讨论】:
-
@SaurabhPrajapati 这行得通,但我不太了解 Objective-C。不过谢谢
标签: ios swift keyboard uitextfield uidatepicker