如何调整通过UIDatePicker设置的日期

How to adjust the date set through UIDatePicker

我正在使用 UIDatePicker 并且能够显示用户从 UIDatePicker 中选择的日期。 我想调整日期并通过单击一些按钮显示 next/previous 日期,但我不知道如何调整 UIDatePicker 日期。

请帮帮我。谢谢你。

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

//From here, it's new
    @IBAction func RightArrow(_ sender: UIButton) {
        let date = datePicker!.date
             if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
               datePicker!.date = modifiedDate
            InputTextField.inputView = datePicker
    }
}

如果你想做的是用你想要的日期更新UIDatePicker,你可以简单地设置UIDatePicker的日期属性。

let date = datePicker.date
if let modifiedDate = Calendar.current.date(byAdding: .day, value: 1, to: date) {
   datePicker.date = modifiedDate
   InputTextField.inputView = datePicker
   let dateFormatter = DateFormatter()
   dateFormatter.dateFormat = "MM/dd/yyyy"

   InputTextField.text = dateFormatter.string(from: datePicker!.date)
}