1

有没有办法使用 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.
}
4

3 回答 3

2

你可以像这样直接检查

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

用于设置标签

        textFieldName.tag = 1;
于 2011-11-18T08:59:06.100 回答
1

你可以使用 isKindofClass: 方法。你可以这样做

 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.
}
于 2011-11-18T08:59:52.370 回答
0

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

于 2011-11-18T08:58:01.003 回答