我的表格视图中有两个部分,一个用于测试状态,一个用于结果。
第一部分的第三行在测试完成后更改。在测试期间,它会记录完成百分比,并在它更改为显示是否检测到任何问题之后。
文本的颜色也会改变以指示坏/好/好。对于这个特定的测试,大约有 20 行结果。
问题在于,在这 20 个结果中,两个单元格被视为第一节中的第三个单元格并变成红色。
现在我假设当我滚动表格时会重新加载,这一定意味着我的代码不正确,并且只有通过具有大量结果的测试才能显示出来。任何帮助都会很棒。我怀疑是下面的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
{
UITableViewCell *serverLoc = [tableView dequeueReusableCellWithIdentifier:@"speedCell"];
// UITableViewCell *switchCell = [tableView dequeueReusableCellWithIdentifier:@"switchCell"];
switch (indexPath.section) {
case 0:
switch (indexPath.row) {
case 0:
serverLoc.textLabel.text = @"Test location:";
serverLoc.detailTextLabel.text = testLocation;
serverLoc.selectionStyle = UITableViewCellSelectionStyleNone;
serverLoc.userInteractionEnabled = NO;
break;
case 1:
serverLoc.textLabel.text = @"Status:";
serverLoc.detailTextLabel.text = statusText;
serverLoc.selectionStyle = UITableViewCellSelectionStyleNone;
serverLoc.userInteractionEnabled = NO;
break;
case 2:
if ([TestEnded isEqualToString:@"no"]) {
serverLoc.textLabel.text = @"Progress";
serverLoc.selectionStyle = UITableViewCellSelectionStyleNone;
serverLoc.userInteractionEnabled = NO;
serverLoc.detailTextLabel.text = [NSString stringWithFormat:@"%ld%%", (long)progressInt];
break;
}
else {
serverLoc.selectionStyle = UITableViewCellSelectionStyleBlue;
serverLoc.userInteractionEnabled = YES;
serverLoc.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
serverLoc.textLabel.text = @"Problems Detected:";
serverLoc.detailTextLabel.text = [NSString stringWithFormat:@"%ld", (long)problemsDetected];
if (problemsDetected == 0) {
serverLoc.textLabel.textColor = [UIColor colorWithRed:0.0 / 255 green:102.0 / 255 blue:51.0 / 255 alpha:1.0];
serverLoc.detailTextLabel.textColor = [UIColor colorWithRed:0.0 / 255 green:102.0 / 255 blue:51.0 / 255 alpha:1.0];
}
else if (problemsDetected == 1) {
serverLoc.textLabel.textColor = [UIColor colorWithRed:226.0 / 255 green:232.0 / 255 blue:52.0 / 255 alpha:1.0];
serverLoc.detailTextLabel.textColor = [UIColor colorWithRed:226.0 / 255 green:232.0 / 255 blue:52.0 / 255 alpha:1.0];
}
else {
serverLoc.textLabel.textColor = [UIColor redColor];
serverLoc.detailTextLabel.textColor = [UIColor redColor];
}
}
break;
}
break;
当我第一次实施它时,我不确定它是否会起作用。它“确实”但显然我不需要滚动到足以揭示错误的程度。
在此先感谢您的任何指点