【发布时间】:2011-09-29 18:18:46
【问题描述】:
我想创建一个 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 调用视图的 layer 属性具有所需的背景颜色和圆角。
【问题讨论】:
-
backgroundView 属性采用 UIView,因此无需使用图像。只需使用您想要的颜色创建一个视图,并将其 alpha 设置为适合您的透明度。
-
这与我最初尝试的基本相同(将 backgroundView 分配给新的 UIView 或直接为其分配颜色没有区别)。没有圆角。
-
但是,我想到它可以通过 QuartzCore setCornerRadius 调用来实现 :)
-
刚刚看到另一个与此相关的问题...您能否通过简单地删除 backgroundView 来解决第三部分?
标签: ios uitableview