将默认 UITextField 值设置为 0(计算器)
Setting default UITextField value of 0 (Calculator)
我正在制作一个应用程序,其中一部分具有某种计算器功能。
用户有 4 个 UITextField
可以输入数字,所有这些都应该是可选的 - 但如果它们被留 空,它应该像他们一样已在字段中输入 "0"。
我该如何设置这个默认值 0?
当前设置 UITextField
中的初始值为 0,但这可以由用户删除(呈现错误),并且不允许占位符文本。
您已将文本字段的默认值设置为“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
}
我正在制作一个应用程序,其中一部分具有某种计算器功能。
用户有 4 个 UITextField
可以输入数字,所有这些都应该是可选的 - 但如果它们被留 空,它应该像他们一样已在字段中输入 "0"。
我该如何设置这个默认值 0?
当前设置 UITextField
中的初始值为 0,但这可以由用户删除(呈现错误),并且不允许占位符文本。
您已将文本字段的默认值设置为“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
}