我正在创建一个简单的应用程序,其中包含一个显示测试结果的tableview。结果来自一个简单的数组。在数组中只有数字,测试分数在0到100之间。
我正在尝试让UITableView行根据结果更改颜色。高于或等于75将显示绿色背景,> = 50&& < 75将是黄色,> 50将是红色。
这是我到目前为止所拥有的。我的理解很基础。
- (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];
}
// Configure the cell...
// Set up the cell...
NSUInteger row = [indexPath row];
cell.textLabel.text = [scoresArray objectAtIndex:row];
// THIS IS WHERE I NEED HELP TO GET THE VALUE FROM THE ARRAY
// INTO ????
if (???? >=75) {
cell.contentView.backgroundColor = [UIColor greenColor];
}
if (???? >=50 && ???? <75) {
cell.contentView.backgroundColor = [UIColor yellowColor];
}
if (???? >=0 && ???? <50) {
cell.contentView.backgroundColor = [UIColor redColor];
}
else {
cell.contentView.backgroundColor = [UIColor whiteColor];
}
return cell;
}
#pragma mark UITableViewDelegate
- (void)tableView: (UITableView*)tableView willDisplayCell:
(UITableViewCell*)cell forRowAtIndexPath: (NSIndexPath*)indexPath
{
cell.backgroundColor = cell.contentView.backgroundColor;
}
例如,如果我只是放cell.contentView.backgroundColor = [UIColor greenColor];
,它们都会变绿。
答案 0 :(得分:0)
这是一个表示整数的字符串吗?如果是,请使用intValue
转换为整数。它是一个表示浮点数的字符串吗?使用floatValue
。您不会提供有关阵列中的内容的任何信息。
答案 1 :(得分:0)
假设该值在textLabel中正确显示,您可以使用:
NSInteger score = [cell.textLabel.text intValue];
if (score >=75) {
...