簡體   English   中英

日期選擇器無法打開,請先在Swift 2.2中單擊文本字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM