显示弹出窗口后删除 UITextField 文本

UITextField text is removed after showing pop up

我面临以下问题:我的视图中有多个 UITextField,其中一个(到期日期)上有一个按钮,可以打开带有 UIDatePicker 的弹出窗口。回来后我发现我的文本字段是空的。 找到附加的屏幕录像。 另外,这是我使用的一段代码:

func showDatePickerPopUp() {
    let dateVC = NavigationHelper.shared.getViewController("datePickerID") as! DatePickerPopUpViewController
    dateVC.modalPresentationStyle = .overCurrentContext
    present(dateVC, animated: false, completion: nil)
}

然后我从按钮操作调用此方法:

@IBAction func expiryDateButtonTapped(_ sender: UIButton) {
    showDatePickerPopUp()
}

当到期日成为第一响应者时:

if textField == cardNumberTextField {
    nameOnCardTextField.becomeFirstResponder()
} else if textField == nameOnCardTextField {
    expiryDateTextField.becomeFirstResponder()
    showDatePickerPopUp()
}

工作原理如下:Screen Recording

我该如何解决这个问题?

更新: 这是 "Done" 按钮操作代码:

@IBAction func doneButtonTapped(_ sender: UIButton) {
   dateFormatter.dateFormat = "MM/yyyy"
   let dateString = dateFormatter.string(from: datePicker.date)
   let vc = NavigationHelper.shared.getViewController("changeCard") as!    ChangeCardViewController
   vc.expiryDate = dateString
   present(vc, animated: false, completion: nil)
}

您应该关闭 ChangeCardViewController 完成按钮操作。当您再次呈现控制器时,它将重新加载 ChangeCardViewController 的所有视图。在 doneButtonTapped:

中写入以下代码
@IBAction func doneButtonTapped(_ sender: UIButton) {

    dismiss(animated: true, completion: nil)

}