UITableViewCell transparent background (including imageView/accessoryView)

后端 未结 2 1891
时光取名叫无心
时光取名叫无心 2021-01-31 12:39

When I set the UITableViewCells backgroundColor to a semi-transparent color, it looks good, but the color doesn\'t cover the entire cell.

The area around th

相关标签:
2条回答
  • Ben and I figured this out today, here's the summary for the group in case this catches anybody else.

    You have to set the cell background and cell.textLabel.backgroundColor every time cellForRowAtIndexPath is called, not just during the alloc/init phase (i.e. if the tableView has a dequeue cache miss).

    So, the code becomes this:

    - (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    
        static NSString *CellIdentifier = @"Cell";
    
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
        if (cell == nil) {
            cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
            cell.opaque = NO;        
        }
    
        // All bgColor configuration moves here
        cell.textLabel.backgroundColor = [UIColor clearColor];
        cell.backgroundColor = [UIColor colorWithRed:.1 green:.1 blue:.1 alpha:.4];
        cell.textColor = [UIColor whiteColor];
        cell.imageView.image = [icons objectAtIndex:indexPath.row];
        cell.textLabel.text = [items objectAtIndex:indexPath.row];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
    
        return cell;
    }
    
    0 讨论(0)
  • 2021-01-31 13:12

    Have you looked into setting the background color of the cell's contentView and keeping the cell, accessory, and image views transparent?

    Also, this article might help show you some alternatives.

    0 讨论(0)
提交回复
热议问题