textFieldDidEndEditing-文本字段限制值输入

时间:2019-02-20 01:36:18

标签: swift uitextfield

enter image description here

我正在尝试创建一个计算器,该计算器在更改UITextField值时计算结果。 没有提交按钮。我猜到textFieldDidEndEditing。除了用户输入值的UITextField以外,其他所有东西都起作用。表单上的其他字段是UIPickerView。它以自由格式UITextField将输入限制为1个字符。

self.mortgageAmount.delegate = self

func textFieldDidEndEditing(_ textField: UITextField) {
    let selectedMortgageAmount = Double((mortgageAmount.text)!)
}

1 个答案:

答案 0 :(得分:0)

如果您没有提交按钮并且想要在输入字段时进行动态计算,则需要使用textField(_:shouldChangeCharactersIn:replacementString:),而不是textFieldDidEndEditing(_:)

前者每次在文本字段中的任何内容即将更改时都会触发。后者仅在通过提交按钮或其他操作(例如,滚动配置为在滚动时结束编辑的父滚动视图)完成文本字段的编辑后触发。

请参见https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619599-textfield