我有一个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
}
答案 0 :(得分:1)
我认为您不应该在textFieldShouldEndEditing
中进行此检查。
您可以在textFieldDidEndEditing
中进行检查,也可以在.editingChanged
控制事件上设置自定义观察者。
IE。
textField.addTarget(self, action: #selector(yourCheckAction), for: .editingChanged)
如果仍然没有显示警报,则应查看showAlert
函数。