检查我视图中的所有文本字段是否为空或c

时间:2016-12-19 06:23:35

标签: ios objective-c view uitextfield

需要帮助。我的问题是,我如何确保视图中的所有文本字段都是空的。

我知道可以通过for循环实现,然后所有textfields长度都大于零。

有没有办法检查这个? TY提前。

2 个答案:

答案 0 :(得分:1)

您可以遍历视图的所有子视图,并选择所有UITextField实例。

//将self.view替换为您自己的视图

- (void)checkAllTextField {
    for (UIView *view in self.view.subviews) {
        if ([view isKindOfClass:[UITextField class]]) {
            UITextField *textField = (UITextField *)view;
            NSLog(@"This is a UITextField, length: %lu", textField.text.length);
        } else {
            NSLog(@"not a UITextField");
        }
    }
}

答案 1 :(得分:0)

您可以使用递归函数获取所有文本字段的数组,然后在文本字段中检查空白。

-(NSArray*)findAllTextFieldsInView:(UIView*)view{
    NSMutableArray* textfieldarray = [[[NSMutableArray alloc] init] autorelease];
    for(UIView x in [view subviews]){
        if([x isKindOfClass:[UITextField class]])
            [textfieldarray addObject:x];

       else if([x respondsToSelector:@selector(subviews)] && [x subviews].count > 0){
            // if it has subviews, loop through those, too
            [textfieldarray addObjectsFromArray:[self findAllTextFieldsInView:x]];
        }
    }
    return textfieldarray;
}