UITextField Delegate返回多个文本字段

时间:2013-07-09 15:04:21

标签: uitextfielddelegate

新手在这里,

我的单视图应用示例(地址,城市,州和邮政编码)上有4个文本字段。当用户点击每个键盘时,我试图使用每个代理来解除键盘。我不能有两个同名的方法。

以下是解除地址文本字段的方法:

- (BOOL)textFieldShouldReturn:(UITextField *)地址

{

if (address == self.address)  

   {
      [address resignFirstResponder];
   }

return YES;

}

因此,只有当用户在地址文本字段中时,我的返回键才能解除键盘,但我无法弄清楚如何将委托用于其他文本字段。代表协议文档没有任何具体细节。

谢谢,

学家

1 个答案:

答案 0 :(得分:1)

这是使用textFieldShouldReturn委托方法中传递的参数。

如果您有多个文本字段,则将调用相同的委托方法,并将文本字段发送方对象作为参数传递。

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    if (textField == self.addressField)  
    {
        //Do what you need to do if address field should return
    }
    else if (textField == self.cityField)  
    {
        //Do what you need to do if city field should return
    }

    return YES;
}

但是,如果您想要的只是重新签名文本字段,并且由于文本字段作为发件人传递,您只需重新签名传递的文本字段:

-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}