我想创建一个TRANSLUCENT分组表视图单元格。换句话说,我想看到分组表视图背景模式,但我不想完全清除单元格。我已经看到很多关于透明细胞的问题,但没有一个问题可以制作半透明(仅部分透明)细胞。
这就是我正在尝试的:
- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
cell.contentView.backgroundColor = [UIColor colorWithWhite:1.0f alpha:0.5f];
cell.backgroundColor = [UIColor clearColor];
cell.backgroundView.backgroundColor = [UIColor clearColor];
}
这就是结果:
这几乎是正确的,除了单元格的contentView超出了分组单元格的圆角。
使用透明图像并设置单元格的背景视图,已解决。本来仍然喜欢以编程方式进行,所以如果有人有解决方案,我会很乐意接受它。
已解决的第二部分也可以通过将backgroundView设置为新的UIView来完成,该UIView具有所需的背景颜色和圆角,通过QuartzCore的setCornerRadius调用视图的图层属性。
答案 0 :(得分:3)
这应该是你所需要的:
cell.contentView.backgroundColor = [UIColor clearColor];
cell.backgroundColor = [UIColor colorWithWhite:1.0 alpha:0.5];
答案 1 :(得分:3)
对于其他想知道的人,我最终使用的代码是:
- (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//...
cell.contentView.backgroundColor = [UIColor clearColor];
cell.backgroundColor = [UIColor clearColor];
UIView *bgView = [[UIView alloc] init];
[[bgView layer] setCornerRadius:10.0f];
[bgView setBackgroundColor:[UIColor colorWithWhite:1.0f alpha:0.25f]];
cell.backgroundView = bgView;
//...
return cell;
}