如何列出一个UIViewcontroller中的所有控件?

时间:2013-06-20 02:06:59

标签: ios cocoa-touch

我习惯使用.net UI,我习惯进入一个容器内的控件数组,

我想知道ui在可可触摸中我可以做同样的事情,一旦我没有找到它

感谢

1 个答案:

答案 0 :(得分:2)

您可以通过递归枚举该容器视图的子视图来检查它们是否是UIControl的子类并将它们添加到数组中。 您可以为UIView创建一个类似的类别(此代码完全未经测试)

- (NSArray*)containedControls
{
    NSMutableArray *controls = [NSMutableArray array];
    for(UIView *subview in self.subviews){
        if([subview isSubclassOfClass:[UIControl class]])
            [controls appendObject:subview]
        else {
            NSArray *containedInSubview = [subview containedControls];
            [controls addObjectsFromArray:containedInSubview];
        }
    }

    return controls;
}