我创建了一个for循环,其值介于18到30之间。 for循环给我的标签是:
18 20 22 24 26 28 30
一旦返回标签的for循环,我想比较手动输入的数值与for循环返回的数值之间的简单" if语句"
到目前为止,一切正常,我的NSLog根据附加值返回正确答案......
我想要做的是找到目前为止所做的数值,并更改标签的背景颜色或包含比较数字的标签高度......
让我举个例子:
如果我输入数字28并且找到了,我希望在所有标签中,只有包含值28的标签会改变颜色..
我希望他们设法解释得好,如果我不清楚问我,我会尝试解释最好的
你能帮助我吗?
这是我到目前为止的代码
NSMutableArray *container = [[NSMutableArray alloc] init];
for (_yValue = maxY; _yValue >=minY; _yValue -=2) {
_yLabel = [[UILabel alloc] init];
_yLabel.frame = CGRectMake(xPadding, yPadding, 27, 27);
_yLabel.text = [NSString stringWithFormat:@"%ld", (long)_yValue];
_yLabel.textColor = [UIColor whiteColor];
_yLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:10];
[self addSubview:_yLabel];
yPadding += _yLabel.frame.size.height;
[container addObject:[NSNumber numberWithInteger:_yValue]];
}
NSNumber *fetch = [NSNumber numberWithInteger:28];
if ([container containsObject:fetch]) {
return NSLog(@"YES THIS IS 28");
} else {
return NSLog(@"NO THIS IS NOT 28");
}
答案 0 :(得分:1)
使用UILabel
的标记
_yLabel.tag = _yValue;
然后
if ([container containsObject:fetch]) {
UILabel *label = (UILabel *)[self viewWithTag:[fetch integerValue]];
label.textColor = [UIColor redColor];
return NSLog(@"YES THIS IS 28");
}