如何在textfieldDidEndEditing上调用方法

时间:2016-04-26 08:12:42

标签: ios swift uitextfield

在我的主页上有四个文本字段。但我想在用户在eamil textfield中写电子邮件时调用方法。

注意:我只想在用户输入电子邮件文本字段时调用方法。我不想在其他文本字段上调用方法。

这是我试过的::

func textFieldDidEndEditing(textField: UITextField) {
    emailVarification()
}

但是通过此代码在每个文本字段上调用它。

4 个答案:

答案 0 :(得分:8)

为您的文本字段添加条件

func textFieldDidEndEditing(textField: UITextField) {
   if textField == txtEmail {  // OR with Tag like textfield.tag == 45
      emailVarification()
    }
}

答案 1 :(得分:1)

对于Swift 5

记住要设置您的代表:

myTextField.delegate = self

然后致电:

func textFieldDidEndEditing(_ textField: UITextField) {
    if textField == myTextField {
        // do what is needed
    }
}

在此处阅读文档:UITextFieldDelegate

答案 2 :(得分:0)

您需要将标记设置为电子邮件文本字段并实现textfield的委托方法。

optional func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool
optional func textFieldDidBeginEditing(_ textField: UITextField)

在任何此方法中,您都需要检查文本字段的标记值。

答案 3 :(得分:0)

用以下代码替换您的代码:

func textFieldDidEndEditing(textField: UITextField) 
{
if textField == txtEmail 
{  
      emailVarification()
}
Else
{
    //other condition
}

}