iOS:笔尖中的TableView - 设置背景颜色

时间:2013-09-30 19:43:24

标签: ios cocoa-touch uitableview

编辑:在描述时我不清楚。我正在加载的UITableView不是UITableView的xib - 它是一个自定义的UIView,它包含一个UITableView(并且可以正确地连接代理和出口等等)

我正在尝试从笔尖加载的tableview设置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];
}

1 个答案:

答案 0 :(得分:0)

要设置单元格颜色,您需要将表格查看背景颜色设置为清除,将其背景视图设置为零。

- (void)viewDidLoad
{
    [self.tableView setBackgroundColor:[UIColor clearColor]];
    [self.tableView setBackgroundView:nil];
}