大家。 我的故事板中有5个标签,我想将其每个文本设置为我想要的任何内容。我们来看看
[cloud0 setText:@"Test0"];
[cloud1 setText:@"Test1"];
[cloud2 setText:@"Test2"];
[cloud3 setText:@"Test3"];
[cloud4 setText:@"Test4"];
现在,我使用" setText"方法的数量是我的标签数量的很多倍。 是否有任何方法可以调用一次,并将其每个文本设置为与上述完全相同?
非常感谢。
答案 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];
}
}
在想要以编程方式设置标签的地方调用此方法