iphone使用Tag检查UITextField是否存在

时间:2011-11-18 08:37:19

标签: iphone uitextfield uiresponder

有没有办法使用Tag属性检测UITextField是否存在?基本上我有很多动态创建的文本字段,我想使用键盘上的返回键来标记字段。

我正在尝试使用下面的代码形式另一篇文章,但'textField.superview'返回null。我正在以编程方式创建文本域。

-(BOOL)textFieldShouldReturn:(UITextField*)textField;
{
  NSInteger nextTag = textField.tag + 1;
  // Try to find next responder
  UIResponder* nextResponder = [textField.superview viewWithTag:nextTag];
  if (nextResponder) {
    // Found next responder, so set it.
    [nextResponder becomeFirstResponder];
  } else {
    // Not found, so remove keyboard.
     [textField resignFirstResponder];
  }
  return NO; // We do not want UITextField to insert line-breaks.
}

3 个答案:

答案 0 :(得分:2)

您可以直接查看

       -(BOOL)textFieldShouldReturn:(UITextField*)textField {
             if (textField.tag == 1) {
             //Do the stuff what you want here
             }
        }

用于设置标签

        textFieldName.tag = 1;

答案 1 :(得分:1)

你可以使用isKindofClass:method。你可以这样做

 if ([[textField.superview viewWithTag:nextTag] isKindOfClass:[UITextField class]])
  {
    // Found next responder, so set it.
    [(UITextField *)[textField.superview viewWithTag:nextTag] becomeFirstResponder];
  } else {
    // Not found, so remove keyboard.
     [textField resignFirstResponder];
  }
  return NO; // We do not want UITextField to insert line-breaks.
}

答案 2 :(得分:0)

您是否设置了文本字段的标记?标签字段不会自动设置,您必须在创建文本字段时自行设置,以便以后识别。如果你没有设置它们,它们都默认为0 - 所以你永远不会找到任何带有文字>的字段。 0