Objective c 如何在UIViewController中搜索UITextFields的数量?

Objective c 如何在UIViewController中搜索UITextFields的数量?,objective-c,ios,uiviewcontroller,Objective C,Ios,Uiviewcontroller,更一般地说,如何在UIViewDelegate中搜索UI元素 现在,我想计算当前视图中UITextFields的数量,以便在其他视图中填充正确数量的UILabel 如果所有文本字段都是当前视图的直接子视图,只需循环当前视图的子视图,并测试它们是否为UITextField类。如果它们不都是直接子视图,那么您需要深入到所有顶级子视图中,查看其中是否有包含UITextFields的子视图 - (NSInteger)textFieldCountInsideView:(UIView *)parentVie

更一般地说,如何在UIViewDelegate中搜索UI元素


现在,我想计算当前视图中UITextFields的数量,以便在其他视图中填充正确数量的UILabel

如果所有文本字段都是当前视图的直接子视图,只需循环当前视图的子视图,并测试它们是否为UITextField类。如果它们不都是直接子视图,那么您需要深入到所有顶级子视图中,查看其中是否有包含UITextFields的子视图

- (NSInteger)textFieldCountInsideView:(UIView *)parentView
{
    NSInteger count = 0;
    for (UIView *subview in parentView.subviews) {
        if ([subview isKindOfClass:[UITextField class]])
            count = count + [self textFieldCountInsideView:subview];
    }
    return count;
}
在UIViewController中的某个位置:

NSInteger count = [self textFieldCountInsideView:self.view];

感谢您的帮助-它们都是直接子视图,因此不需要任何额外的钻孔。:)