我正在制作一个应用程序,其中一部分具有某种计算器功能。
用户有4个UITextField
输入数字,所有这些数字都是可选的-但是如果将他们保留为空,则应该像输入了字段中输入“ 0” 。
如何设置该默认值为0?
当前已对其进行设置,以使UITextField
中的初始值为0,但是用户可以删除该初始值(呈现错误),并且不允许使用占位符文本。
答案 0 :(得分:2)
您已将textField的默认值设置为“ 0”
textField.text = "0"
现在,您需要检查用户是否更改了textField
,并且该更改是否导致了空白文本字段。
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
guard let textFieldString = textField.text, let range = Range(range, in: textFieldString) else {
return false
}
let newString = textFieldString.replacingCharacters(in: range, with: string)
if newString.isEmpty {
textField.text = "0"
return false
} else if textField.text == "0" {
textField.text = string
return false
}
return true
}