我正在尝试设置一个UITableView,其元素分层如下:
具体来说,该表有多个部分,每个部分都有不同的背景颜色。为此,我通常只修改每个单元格。困难的部分是我希望部分标题是半透明的。当我这样做时,标题下的背景是表格视图的背景颜色,当标题下没有单元格时。我当然可以设置表格视图的背景颜色,但每个标题下的颜色都是相同的。
如何创建如图中所示的表格视图?
更新:为了使其绝对清晰,我知道如何制作自定义标题视图,并知道如何使用alpha属性使其变为半透明。问题在于什么是观点。我需要下面的部分是背景颜色,而不是表格视图的背景颜色。
答案 0 :(得分:1)
在标题中使用UIImageView并使用(自定义)图像。
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
UIView * junkView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"headerImageBackground.png"]];
junkView.alpha = .3;
[junkView autorelease];
return junkView;
}
答案 1 :(得分:1)
没有确切的框架为此提供解决方案,但我们可以使用backgroundView
属性。将其设置为滚动视图。此滚动视图将包含部分的背景视图。将自己定义为表视图的contentSize
和contentOffset
的观察者,并改变与表视图平行的滚动视图的值。使用rectForSection:
方法获取背景视图的框架,并在滚动视图中创建子视图,并设置适当的背景颜色。这应该在一定程度上起作用。
这种方法的问题在于,当表格视图在边缘上反弹时,滚动视图将保持静态。然后就是让细胞与这种背景很好地融合的情况。