如何通过使用日期选择器单击向右和向左箭头来显示前一天/第二天



这是我到目前为止所拥有的。

现在,我能够通过输入文本字段中的日期选择器显示选择的日期。

我想在输入文本字段旁边添加左右箭头,以便我可以通过单击这些箭头来显示前一天/第二天。

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)
}

}

基本上,你需要

  1. 向 UI 添加两个子视图,即左箭头和右箭头。

  2. 向这两个子视图添加目标操作/手势。

  3. 在操作触发功能中,更新datePickerInputTextField

最新更新