我有一堆从
开始的标签@property (strong, nonatomic) IBOutlet UILabel *lastNumber0;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber1;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber2;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber3;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber4;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber5;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber6;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber7;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber8;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber9;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber10;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber11;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber12;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber13;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber14;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber15;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber16;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber17;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber18;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber19;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber20;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber21;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber22;
@property (strong, nonatomic) IBOutlet UILabel *lastNumber23;
这些目标是在for循环中以迭代方式传递;
for (int d = 0; d < [lastNumbers count]; d++) {
int value = [[lastNumbers objectAtIndex:d] intValue];
if ([red containsObject:[NSNumber numberWithInteger:value]])
{
self.lastNumber0.text = [NSString stringWithFormat:@"%i", value];
self.lastNumber0.textAlignment = NSTextAlignmentLeft;
self.lastNumber0.textColor = [UIColor redColor];
}
if ([black containsObject:[NSNumber numberWithInteger:value]])
{
self.lastNumber0.text = [NSString stringWithFormat:@"%i", value];
self.lastNumber0.textAlignment = NSTextAlignmentRight;
self.lastNumber0.textColor = [UIColor blackColor];
}
if ([green containsObject:[NSNumber numberWithInteger:value]])
{
self.lastNumber0.text = [NSString stringWithFormat:@"%i", value];
self.lastNumber0.textAlignment = NSTextAlignmentCenter;
self.lastNumber0.textColor = [UIColor greenColor];
}
}
}
希望这是有道理的,self.lastNumber0.text
将替换为编程self.lastNumber[d].text
&lt; - 我知道这不会起作用,但这就是我想要实现的目标,我试过这个
NSString *labelName = [NSString stringWithFormat:@"lastNumber%i", d];
但无法弄清楚如何做self.labelName.text
=等等......
感谢阅读,如果您需要更多信息,请询问。谢谢!
ANSWER
int yInc = 310;
for (int i = 0; i < 32; i++) {
label[i] = [[UILabel alloc] initWithFrame:CGRectMake(460, yInc, 100, 10)];
label[i].font = [UIFont boldSystemFontOfSize:11];
label[i].backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.3];
[self.view addSubview:label[i]];
yInc = yInc - 10;
}
for (int d = 0; d < 32; d++) {
int value = [[lastNumbers objectAtIndex:d] intValue];
if ([red containsObject:[NSNumber numberWithInteger:value]])
{
label[d].text = [NSString stringWithFormat:@"%i", value];
label[d].textAlignment = NSTextAlignmentLeft;
label[d].textColor = [UIColor redColor];
}
if ([black containsObject:[NSNumber numberWithInteger:value]])
{
label[d].text = [NSString stringWithFormat:@"%i", value];
label[d].textAlignment = NSTextAlignmentRight;
label[d].textColor = [UIColor blackColor];
}
if ([green containsObject:[NSNumber numberWithInteger:value]])
{
label[d].text = [NSString stringWithFormat:@"%i", value];
label[d].textAlignment = NSTextAlignmentCenter;
label[d].textColor = [UIColor greenColor];
}
}
}
答案 0 :(得分:0)
不是为各个标签制作一堆IBOutlet,而是为所有标签创建一个IBOutletCollection。现在标签是数组的元素,您可以循环遍历该数组。