iPhone display date picker on UITextField touch

后端 未结 8 1466
一生所求
一生所求 2020-11-30 00:08

I followed this thread: datepicker by clicking on textfield

I imported both of the following protocols:

@interface ViewController : UIViewController&         


        
8条回答
  •  孤独总比滥情好
    2020-11-30 00:45

    Here's what I did in Swift 4:

    let datePicker = UIDatePicker()
    @IBOutlet weak var myTextField: UITextField!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setDatePicker()
    }
    
    func setDatePicker() {
        //Format Date
        datePicker.datePickerMode = .date
    
        //ToolBar
        let toolbar = UIToolbar();
        toolbar.sizeToFit()
        let doneButton = UIBarButtonItem(title: "Done", style: .plain, target: self, action: #selector(doneDatePicker));
        let spaceButton = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
        let cancelButton = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(cancelDatePicker));
    
        toolbar.setItems([doneButton,spaceButton,cancelButton], animated: false)
    
        myTextField.inputAccessoryView = toolbar
        myTextField.inputView = datePicker
    }
    
    @objc func doneDatePicker(){
        let formatter = DateFormatter()
        formatter.dateFormat = "MM/dd/yyyy"
        myTextField.text = formatter.string(from: datePicker.date)
        self.view.endEditing(true)
    }
    
    @objc func cancelDatePicker(){
        self.view.endEditing(true)
    }
    

提交回复
热议问题