iOS:如何使用方法为许多标签设置文本

时间:2015-07-10 04:08:12

标签: ios objective-c uilabel

大家。 我的故事板中有5个标签,我想将其每个文本设置为我想要的任何内容。我们来看看

[cloud0 setText:@"Test0"];
[cloud1 setText:@"Test1"];
[cloud2 setText:@"Test2"];
[cloud3 setText:@"Test3"];
[cloud4 setText:@"Test4"];

现在,我使用" setText"方法的数量是我的标签数量的很多倍。 是否有任何方法可以调用一次,并将其每个文本设置为与上述完全相同?

非常感谢。

3 个答案:

答案 0 :(得分:3)

您可以使用IBOutletCollection并通过枚举集合来设置文本。

[arrayLabelCollection enumerateObjectsUsingBlock:^(UILabel *label, NSUInteger idx, BOOL *stop) {
        label.text = arrayText[idx];
 }];

答案 1 :(得分:2)

for (UIView *view1 in self.view.subviews) {
        if ([view1 isKindOfClass:[UILabel class]]) {
            UILabel *lable = (UILabel *) view1;
            lable.text = @"Your Text";
        }
    }

试试这个

答案 2 :(得分:1)

使用1到numberOfLabel(例如1到5)

为每个标签设置标签
-(void)methodSetLabel{
  for(NSInteger i=1;i<=5;i++) {
      UILabel *label=(UILabel *)[self.view viewWithTag:i];
      label.text=[NSString stringWithFormate:@"Test %d",i];
  }
}

在想要以编程方式设置标签的地方调用此方法