如何获取不同标记的UITextField文本长度

时间:2015-05-20 05:55:33

标签: ios objective-c uitextfield

我有四个UITextField标记为1到4.现在我想获取每个文本字段的文本长度。我想在shouldChangeCharactersInRange中获取此信息。我知道这个textField.text.length我可以获得文本字段文本长度,并使用此textField.tag == 1我可以获得特定标记的UITextField。但是否有可能获得特定标记UITextField的文本长度?使用它的标签?如果是,怎么样?

提前多多感谢。 我不想使用我的UITextField

的实例

3 个答案:

答案 0 :(得分:1)

是的,您可以通过获取主视图的所有子视图来实现。然后你可以迭代循环

for(UIView *v in [self.view allSubViews])
{
     if([v isKindOfClass:[UITextField class]])
     {
         ** Here you can add you logic to check the tag of all text field & can get the length accordingly **
     }
}

如果您需要进一步澄清,请与我们联系。

答案 1 :(得分:0)

  

我不想使用我的实例   的UITextField

那么您希望如何访问其属性?只需为每个UITextField分配一个标记,然后在委托方法中访问其属性。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

    if(textField.tag == 0)
        NSLog(@"%i", textField.text.length);

    return YES;

}

答案 2 :(得分:-2)

试试这个......

 switch (textField.tag) {
    case 1:
        NSLog(@"textfield1=%lu", (unsigned long)textField.text.length);

        break;

    case 2:
         NSLog(@"textfield2=%lu", (unsigned long)textField.text.length);
        break;

    case 3:
        NSLog(@"textfield3=%lu", (unsigned long)textField.text.length);

        break;

    case 4:
        NSLog(@"textfield4=%lu", (unsigned long)textField.text.length);
        break;
    default:
        break;
}