这是我到目前为止所拥有的。
现在,我能够通过输入文本字段中的日期选择器显示选择的日期。
我想在输入文本字段旁边添加左右箭头,以便我可以通过单击这些箭头来显示前一天/第二天。
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var InputTextField: UITextField!
private var datePicker: UIDatePicker?
override func viewDidLoad() {
super.viewDidLoad()
datePicker = UIDatePicker()
datePicker?.datePickerMode = .date
datePicker?.addTarget(self, action: #selector(ViewController.dateChanged(datePicker:)), for: .valueChanged)
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.viewTapped(gestureRecognizer:)))
view.addGestureRecognizer(tapGesture)
InputTextField.inputView = datePicker
}
@objc func viewTapped (gestureRecognizer: UITapGestureRecognizer) {
view.endEditing(true)
}
@objc func dateChanged (datePicker: UIDatePicker) {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yyyy"
InputTextField.text = dateFormatter.string(from: datePicker.date)
view.endEditing(true)
}
}
基本上,你需要
-
向 UI 添加两个子视图,即左箭头和右箭头。
-
向这两个子视图添加目标操作/手势。
-
在操作触发功能中,更新
datePicker
和InputTextField