UIDatePicker not able to select current selected date, It only select when we select another date

After updating Xcode to Xcode 14 and testing in iOS 16 device . I am getting this issue it was working fine before. Now the date which is pre-selected in my case it is not triggering startDatePickerTapped function. But when we select another date it is able trigger, and then select current date after selecting another date . It is able to trigger

let datePicker = UIDatePicker()

datePicker.preferredDatePickerStyle = .inline

datePicker.datePickerMode = .date

datePicker.addTarget(self, action: #selector(startDatePickerTapped(_:)), for: .valueChanged)

datePicker.minimumDate = Date()

  @objc func startDatePickerTapped(_ sender: UIDatePicker?) {

        startDatePickerField.text = " "

        let dateFormatter = DateFormatter()

        dateFormatter.dateFormat = "yyyy-MM-dd"

    if let date = sender?.date {

    startDatePickerField.text = dateFormatter.string(from: date) 

    }

        self.endEditing(true)

    }

Hey 😊

The way I went around this is by setting my variable to the current date when dismissing the picker.

  @IBOutlet weak var dateTextField: UITextField!
  var selectedDate: String = ""

  private func createDatePicker() {
    let currentDate = Date()
     
    datePicker = UIDatePicker()
    datePicker.datePickerMode = .date
     
    if #available(iOS 14.0, *) {
      datePicker.preferredDatePickerStyle = .inline
    }
     
    datePicker.maximumDate = currentDate
     
    datePicker.addTarget(self, action: #selector(datePickerValueChanged(_:)), for: .valueChanged)
     
    dateTextField.inputView = datePicker
    dateTextField.inputAccessoryView = createToolbar()
  }
   
  private func createToolbar() -> UIView {
    let toolbar = UIToolbar()
    let doneButton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(dismissDatePicker))
    let flexSpace = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: nil, action: nil)
     
    toolbar.sizeToFit()
    toolbar.setItems([flexSpace, doneButton], animated: true)
     
    return toolbar
  }
   
  private func setupDateFormatter() {
    dateFormatter.dateStyle = .long
    dateFormatter.locale = Locale(identifier: "en_GB")
  }
   
  @objc func dismissDatePicker() {
    selectedDate = dateFormatter.string(from: datePicker.date)
    dateTextField.text = selectedDate
     
    endEditing(true)
  }
   
  @objc func datePickerValueChanged(_ sender: UIDatePicker) {
    selectedDate = dateFormatter.string(from: sender.date)
    dateTextField.text = selectedDate
  }

Hope that helps.

UIDatePicker not able to select current selected date, It only select when we select another date
 
 
Q