用户在文本字段中输入数据后如何立即执行操作?

时间:2018-07-20 03:26:33

标签: ios swift

我有一个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
}

1 个答案:

答案 0 :(得分:1)

我认为您不应该在textFieldShouldEndEditing中进行此检查。 您可以在textFieldDidEndEditing中进行检查,也可以在.editingChanged控制事件上设置自定义观察者。

IE。

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

如果仍然没有显示警报,则应查看showAlert函数。