处理多个UI对象

时间:2012-11-19 06:56:06

标签: xcode uilabel

根据Apple规范,IB对象将使用Storyboard / Xib定义。 对于某些项目,这可能会导致定义UILabels,UIButtons等的长列表。 必须使用IBOutlet的代码连接到代码。

示例:

@property (nonatomic, retain) IBOutlet UILabel *label1;
@property (nonatomic, retain) IBOutlet UILabel *label2;
...
@property (nonatomic, retain) IBOutlet UILabel *label998;
@property (nonatomic, retain) IBOutlet UILabel *label999;

有没有办法在源代码中识别UILabel(或UIBUtton或UIImage等),并使用它来更改Object的内容/属性?

伪代码示例:

for (i=0;i<100;i++) {
        <label i>.text = @"...";
}

在上面的代码中,我想为所有标签分配一个字符串值。如何做到这一点,而不是 一种识别标签的方法。

1 个答案:

答案 0 :(得分:2)

您可以在Interface Builder中为UILabels设置标记,稍后使用标记识别它们。 例如,您可以为1000个标签设置1001到2000的标签,稍后您可以使用此代码在运行时获取标签: -

for (NSInteger iTag= 1001; iTag<2001; iTag++) 
{
    UILabel *lblTest = (UILabel *)[self.view viewWithTag:iTag];
    lblTest.text = @"....";
}

通过这种方式,您的第一个标签将具有标签1001,最后一个标签将具有标签2000,您可以在功能或循环中使用这些标签。