ios – 如何在UIView中获取所有UILabel

前端之家收集整理的这篇文章主要介绍了ios – 如何在UIView中获取所有UILabel前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一种方法获取UIView中的所有UILabel,而无需通过UIView中的所有视图.

我还有很多其他类型的视图,UIButtons,UIImageViews,当我只需要UILabel时,它会花太长时间来浏览所有这些视图.

我试图避免这样的事情:

  1. for (UIView *view in myView.subviews)
  2. {
  3. if([view isKindOfClass:[UILabel class]])
  4. {
  5. UILabel *lbl = (UILabel*)view;
  6. }
  7. }

有可能还是我在做梦?

解决方法

创建一个NSArray ivar,您可以将所有UILabel添加到.

如果你在代码中执行它,那么在创建UILabel时就这样做了

  1. NSMutableArray *labels = [[NSMutableArray alloc] init];
  2.  
  3. // Repeat this for al labels
  4. UILabel *label = [[UILabel alloc] in...
  5. [labels addObject:label];
  6.  
  7. // Then
  8. self.labels = [labels copy];

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

  1. @property (nonatomic,strong) IBOutletCollection(UILabel) NSArray *labels;

并将所有标签连接到此.

猜你在找的iOS相关文章