0

是否可以使用不同UITextFields来识别执行条件?例如,如果用户触摸UITextField *tf1它必须访问一个条件(使用 if 语句),如果用户触摸UITextField *tf2它必须访问另一个条件。我尝试使用tags似乎不起作用。请问有什么建议吗?

4

2 回答 2

1

标签绝对是正确的解决方案。确保每个文本字段都有自己独特的标签,并确保在读取之前将发送者转换为操作方法中的控件类型。我喜欢为它们定义常量,以明确每个控件的用途。例如在头文件中:

#define RED_TEXT_FIELD 1
#define BLUE_TEXT_FIELD 2

在代码中:

-(void) onTouchTextField:(id)sender {

   UITextField *theField = (UITextField *)sender;
   if (theField.tag == RED_TEXT_FIELD) {
      ...do something...
   } 
   else if (theField.tag == BLUE_TEXT_FIELD) {
      ...do something...
   }
}
于 2012-07-24T06:00:42.617 回答
0

您可以使用UITextField委托方法,例如:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    if(textField == tf1)
    {
        // Do something if tf1 is touched
    }
    else
    {
        // Do something if tf2 is touched
    }
}

希望这可以帮助你....

于 2012-07-24T06:09:19.517 回答