![](/img/trans.png)
[英]How to pass the date picker (or just the date) to show the date on textfield in Swift?
[英]Date picker does not open first click on textfield in swift 2.2
我有datePicker
視圖,第一次沒有打開它,請單擊textField。 如果我第二次單擊它,則會打開日期選擇器視圖。 在這種情況下我很困惑。 為什么第一次單擊時未打開? 如何在第一次單擊UITextField
顯示日期選擇器視圖?
我嘗試的代碼:
@IBAction func datePick(sender: UITextField)
{
let datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
sender.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(SendSMS.showDatePicker), forControlEvents: UIControlEvents.ValueChanged)
}
func showDatePicker(sender: UIDatePicker) {
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let timeFormatter = NSDateFormatter()
timeFormatter.dateFormat = "HH:mm:SS"
timeField.text = timeFormatter.stringFromDate(sender.date)
dateField.text = dateFormatter.stringFromDate(sender.date)
}
輸出:
與其使用textField
設置動作, textField
嘗試使用UITextFieldDelegate
委托方法。
func textFieldDidBeginEditing(textField: UITextField!) { //delegate method
if textField == dateField {
let datePickerView = UIDatePicker()
datePickerView.datePickerMode = UIDatePickerMode.Date
textField.inputView = datePickerView
datePickerView.addTarget(self, action: #selector(SendSMS.showDatePicker), forControlEvents: UIControlEvents.ValueChanged)
}
}
也可以通過設置TextField動作事件“ Editing Did Begin
。 如果您將動作設置為Editing Did End
,則它將第一次無效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.