我正在尝试创建一个计算器,该计算器可以在 UITextField
值发生更改时计算结果。 没有提交按钮我认为textFieldDidEndEditing
。除了用户输入值的 UITextField
之外,一切正常。表单上的其他字段是 UIPickerView。它将自由格式 UITextField
中的输入限制为 1 个字符。
self.mortgageAmount.delegate = self
func textFieldDidEndEditing(_ textField: UITextField) {
let selectedMortgageAmount = Double((mortgageAmount.text)!)
}
最佳答案
如果您没有提交按钮并希望在字段中输入时进行动态计算,则需要使用 textField(_:shouldChangeCharactersIn:replacementString:)
,而不是 textFieldDidEndEditing(_ :)
.
每次文本字段中的任何内容即将更改时,前者都会触发。后者仅在文本字段完成编辑时触发,无论是通过提交按钮还是其他一些操作,例如滚动配置为在滚动时结束编辑的父 ScrollView 。
参见https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619599-textfield
关于swift - textFieldDidEndEditing - 文本字段有限值输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54777530/