gpt4 book ai didi

iphone - UITableViewCell透明背景(包括imageView/accessoryView)

转载 作者:行者123 更新时间:2023-12-03 18:30:18 25 4
gpt4 key购买 nike

当我将 UITableViewCells backgroundColor 设置为半透明颜色时,它看起来不错,但颜色没有覆盖整个单元格。

imageViewaccessoryView 周围的区域将显示为 [UIColor clearColor]...

alt text

我尝试将 cell.accessoryView.backgroundColorcell.imageView.backgroundColor 显式设置为与单元格的 backgroundColor 相同的颜色>,但它不起作用。它在图标周围放置一个小框,但不会扩展以填充左边缘。右边缘似乎不受此影响。

我该如何解决这个问题?

编辑:这是原始表格单元格代码:

- (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;
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;
}

最佳答案

本和我今天解决了这个问题,这是该小组的摘要,以防其他人发现这一点。

每次调用 cellForRowAtIndexPath 时,您都必须设置单元格背景和 cell.textLabel.backgroundColor,而不仅仅是在 alloc/init 期间设置阶段(即,如果tableView有出队缓存未命中)。

所以,代码变成这样:

- (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;
}

关于iphone - UITableViewCell透明背景(包括imageView/accessoryView),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1501959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com