【发布时间】:2015-02-21 18:37:45
【问题描述】:
我有一个textField,用户可以在其中输入电子邮件地址。我想在输入文本成为有效电子邮件地址的那一刻激活提交按钮。
验证有效,但shouldChangeCharactersInRange 中的代码似乎在用户输入之后执行了一步。因此,当电子邮件有效时,用户仍然需要在按钮更改之前再点击一个键。同样,如果电子邮件地址无效,则该按钮不会改变,直到再按一个键。
请注意,这也发生在设备上,而不仅仅是在模拟器中。
代码如下:
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) {
if emailIsValidFormat(textField.text) {
emailSubmitButton.alpha = 1
} else {
emailSubmitButton.alpha = 0.4
}
}
【问题讨论】: