Swift 设置UIDatePicker键盘输入日期

2020-02-27  本文已影响0人  jsone

1、声明datePicker属性

lazy var datePicker: UIDatePicker = {
    let picker = UIDatePicker.init()
    picker.datePickerMode = .date
    picker.date = Date.init()
    picker.locale = Locale.init(identifier: "zh")
    picker.maximumDate = Date.init()
    return picker
}()

2、设置输入框的键盘为datePicker

// 设置datePicker键盘
productionDateTextField.inputView = datePicker;

3、设置键盘的工具栏

// 设置工具栏
let toolbar = UIToolbar.init(frame: CGRect.init(origin: CGPoint.zero, size: CGSize.init(width: view.frame.width, height: 44)))
let cancelInputItem = UIBarButtonItem.init(title: "取消", style: .plain, target: self, action: #selector(cancelInputAction))
let doneInputItem = UIBarButtonItem.init(title: "完成", style: .plain, target: self, action: #selector(doneInputAction))
let spaceItem = UIBarButtonItem.init(barButtonSystemItem: .flexibleSpace, target: nil, action: nil)
toolbar.items = [cancelInputItem, spaceItem, doneInputItem]
productionDateTextField.inputAccessoryView = toolbar

4、添加工具栏按钮的点击方法

// 取消输入
@objc func cancelInputAction() -> Void {
    productionDateTextField.resignFirstResponder()
}
// 输入完成
@objc func doneInputAction() -> Void {
    productionDateTextField.resignFirstResponder()
    let dateFormatter = DateFormatter.init()
    dateFormatter.dateFormat = "yyyy-MM-dd"
    productionDateTextField.text = dateFormatter.string(from: datePicker.date)
}
UIDatePiker键盘
上一篇下一篇

猜你喜欢

热点阅读