如何在UIView中获取所有UILabel

sub*_*arb 7 objective-c uiview uilabel ios subviews

我需要一种方法来将所有内容都UILabel放在一个内部,UIView而无需通过内部的所有视图UIView.

我还有很多其他类型的观点,UIButtons UIImageView和s,当我只需要UILabels 时,它会花费很长时间来浏览所有这些观点.

我试图避免这样的事情:

for (UIView *view in myView.subviews) 
{
    if([view isKindOfClass:[UILabel class]])
    {
        UILabel *lbl = (UILabel*)view;
    }
}
Run Code Online (Sandbox Code Playgroud)

是可能还是我在做梦?

Pau*_*l.s 6

创建一个NSArray可以添加所有内容的ivar UILabel.

如果你在代码中执行它,那么当你创建UILabeljust do时

NSMutableArray *labels = [[NSMutableArray alloc] init];

// Repeat this for al labels
UILabel *label = [[UILabel alloc] in...
[labels addObject:label];

// Then
self.labels = [labels copy];
Run Code Online (Sandbox Code Playgroud)

如果您使用IB,则声明您的财产

@property (nonatomic, strong) IBOutletCollection(UILabel) NSArray *labels;
Run Code Online (Sandbox Code Playgroud)

并将所有标签连接到此.