我正在尝试创建一个计算器,该计算器在更改UITextField
值时计算结果。 没有提交按钮。我猜到textFieldDidEndEditing
。除了用户输入值的UITextField
以外,其他所有东西都起作用。表单上的其他字段是UIPickerView
。它以自由格式UITextField
将输入限制为1个字符。
self.mortgageAmount.delegate = self
func textFieldDidEndEditing(_ textField: UITextField) {
let selectedMortgageAmount = Double((mortgageAmount.text)!)
}
答案 0 :(得分:0)
如果您没有提交按钮并且想要在输入字段时进行动态计算,则需要使用textField(_:shouldChangeCharactersIn:replacementString:)
,而不是textFieldDidEndEditing(_:)
。
前者每次在文本字段中的任何内容即将更改时都会触发。后者仅在通过提交按钮或其他操作(例如,滚动配置为在滚动时结束编辑的父滚动视图)完成文本字段的编辑后触发。
请参见https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619599-textfield