获取所有UITextField的数组

Bot*_*Bot 7 iphone objective-c ios5

如何在视图控制器中获取所有UITextField的数组?

编辑:我不想将文本字段硬编码为数组.我实际上想要从该委托的调用者的所有字段的委托中获取列表.

Tim*_*Tim 17

用于搜索所有子视图的子视图的递归实现:(这样可以捕获嵌入在uiscrollview中的文本字段等)

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

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

-(void)myMethod{
   NSArray* allTextFields = [self findAllTextFieldsInView:[self view]];
   // ...
 }
Run Code Online (Sandbox Code Playgroud)