首页 > 解决方案 > 用户在文本字段中输入数据后如何立即执行操作?

问题描述

我有一个UITextField用于输入时间数据(10、15、30 分钟等)的数据。我想在用户手动输入分钟数据之后,然后我会检查它是否大于零(不允许负数或零),如果值低于 1,那么我将显示警报。

我尝试使用下面的代码,但它不起作用:

func textFieldShouldEndEditing(_ textField: UITextField) -> Bool {
    if textField == numberReminderTextField {
        let valueNumber = Int(numberReminderTextField.text ?? "0") ?? 0
        if valueNumber < 1 {
            showAlert(alertTitle: "Sorry", alertMessage: "The number you input is invalid, please input the number that more than zero.", actionTitle: "Back")
        }
    }
    return false
}

标签: iosswift

解决方案


在我看来,你不应该这样做检查textFieldShouldEndEditing。您可以在控制事件上进行签入textFieldDidEndEditing或设置自定义观察者。.editingChanged

IE

textField.addTarget(self, action: #selector(yourCheckAction), for: .editingChanged)

如果警报仍未出现,您应该查看您的showAlert功能。


推荐阅读