我有一个包含 200 多个单元格的 UITable。该表与来自网络的数据完美配合。现在我需要添加一种方法来更改标签的背景颜色以与数据匹配(如果值减少则为红色,如果值增加则为绿色)。最初这似乎效果很好,但过了一段时间,即使值更新正常,颜色也会变成静态。下面是我在 layoutSubviews 方法中的代码示例:
更新
我更新了代码以显示我的表格。请注意,数据被完美地分配给单元格。无论值是多少,几分钟后单元格的颜色都不会改变。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
UILabel* label = [[UILabel alloc] initWithFrame:self.contentView.bounds];
label.tag = 1;
[cell.contentView addSubview:label];
[label release];
}
UILabel *label = (UILabel*)[cell viewForTag:1];
float value = [label.text floatValue];
float newValue = [dataSource objectAtIndex:indexPath.row];
// Get the current value of the cell and compare it with the new value
if(value < newVal)
{
label.backgroundColor = [UIColor greenColor];
}
else if(value > newVal)
{
label.backgroundColor = [UIColor redColor];
}
label.text = [NSString stringWithFormat:@"%d", newValue];
}