将UITextField的默认值设置为0(计算器)

时间:2018-08-20 08:10:43

标签: ios swift xcode uitextfield

我正在制作一个应用程序,其中一部分具有某种计算器功能。

用户有4个UITextField输入数字,所有这些数字都是可选的-但是如果将他们保留为空,则应该像输入了字段中输入“ 0” 。 如何设置该默认值为0?

当前已对其进行设置,以使UITextField中的初始值为0,但是用户可以删除该初始值(呈现错误),并且不允许使用占位符文本。

1 个答案:

答案 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
}