0

编辑:我在描述这个时不清楚。我正在加载的 UITableView 不是 UITableView 的 xib - 它是包含 UITableView 的自定义 UIView(并且已正确连接代表和插座等)

我正在尝试从从笔尖加载的表格视图中设置 UITableViewCell 的背景颜色。

首先,我尝试将 tableView 背景颜色属性设置为 UIColor clearColor。那没有用,所以我改变了我的 cellForRowAtIndexPath ,如下所示:

- (UITableViewCell *)tableView:(UITableView *)tableView
     cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *CellIdentifier = @"scoreCell";

UITableViewCell *cell = [tableView
                         dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc]
            initWithStyle:UITableViewCellStyleSubtitle
            reuseIdentifier:CellIdentifier];
}

//First try
cell.backgroundColor = [UIColor clearColor];

//Added this after the others didn't work
cell.contentView.backgroundColor= [UIColor clearColor];

//Added this after
cell.textLabel.backgroundColor  = [UIColor clearColor];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
// Configure the cell.

cell.textLabel.text = [[leaderInfo objectAtIndex:indexPath.row] objectForKey:@"name"];
cell.detailTextLabel.text = [[[leaderInfo objectAtIndex:indexPath.row] objectForKey:@"score"] stringValue];
cell.textLabel.adjustsFontSizeToFitWidth  =YES;


return cell;

}

然后根据我尝试的文档,这不起作用:

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
//Properties tested in all permutations
    cell.backgroundColor=[UIColor clearColor];
    cell.textLabel.backgroundColor = [UIColor clearColor];
    cell.detailTextLabel.backgroundColor = [UIColor clearColor];
}
4

1 回答 1

0

为了设置单元格颜色,您需要将 tableView 的背景颜色设置为 clear 并将其 backgroundView 设置为 nil。

- (void)viewDidLoad
{
    [self.tableView setBackgroundColor:[UIColor clearColor]];
    [self.tableView setBackgroundView:nil];
}
于 2013-09-30T20:18:33.607 回答