将默认 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
}