Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/94.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何获取不同标记的UITextField文本长度_Ios_Objective C_Uitextfield - Fatal编程技术网

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

Ios 如何获取不同标记的UITextField文本长度,ios,objective-c,uitextfield,Ios,Objective C,Uitextfield,我有四个UITextField标记为1到4。现在我想得到每个文本字段的文本长度。我想在shouldChangeCharactersInRange中获取此信息。我知道用这个textField.text.length我可以得到文本字段的文本长度,用这个textField.tag==1我可以得到特定标记的UITextField。但是,是否可以获取特定标记的UITextField的文本长度?使用它的标签?如果是,如何进行 事先非常感谢。 我不想使用我的UITextField的实例 我不想使用我的 UIT

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

事先非常感谢。 我不想使用我的
UITextField的实例

我不想使用我的 UITextField

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

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

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

    return YES;

}

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

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 **
     }
}
如果你还需要澄清,请告诉我

试试这个

 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;
}

首先为每个文本字段指定不同的标记值。而不是在shouldchangeCharactersRange中,获取textField.tag值并与指定的标记值进行比较。@Tulon我曾试图帮助您。我不希望您这样做。亲爱的@rmaddy,是否可以删除此帖子?@Tulon i answer帮助您仍然没有接受它,也没有因此而被连根拔起。仅仅因为rmaddy的原因是什么。如果我想帮助你。尽早重播我。@Tulon首先你接受了我的回答。又发生了什么事???请重播您的评论。是的,我也这么认为。除了使用instance
UITextField
@Nikita,没有其他方法,我已经编辑了您的答案,因为您编写了错误的方法,并且拒绝了我的编辑。为什么???@AshokLondhe,您在编写时的编辑不正确,
string.length
,将始终返回1。
string
的值将是在文本字段中键入的最后一个字符。这就是我拒绝它的原因。@Nikita我没有写这句话,我只是纠正了你的方法。你错过了:在你的方法中,先检查一下。@AshokLondhe我没有拒绝。但是谢谢,我现在就编辑它。我想这对我来说太少了(无论如何,谢谢你的时间。:@Tulon我认为这是正确的答案。这将同时获得所有文本字段的长度。perfecto.:)达尼巴德,我的朋友。:)这有什么用?在任何情况下,它都会得到完全相同的文本字段的长度。@rmaddy它会给出每个文本字段的长度。基于标签。您可以检查它。只需一行代码就可以得到相同的结果。不需要switch语句来获取文本字段的长度。@rmaddy您是对的。但是你的想法不同,我的想法也不同。所以我喜欢用它。谢谢你的建议,这对我很有帮助。