UITableView带半透明部分标题&不同颜色的部分背景

时间:2011-05-21 23:49:57

标签: cocoa-touch ios uitableview

我正在尝试设置一个UITableView,其元素分层如下:

diagram

具体来说,该表有多个部分,每个部分都有不同的背景颜色。为此,我通常只修改每个单元格。困难的部分是我希望部分标题是半透明的。当我这样做时,标题下的背景是表格视图的背景颜色,当标题下没有单元格时。我当然可以设置表格视图的背景颜色,但每个标题下的颜色都是相同的。

如何创建如图中所示的表格视图?

更新:为了使其绝对清晰,我知道如何制作自定义标题视图,并知道如何使用alpha属性使其变为半透明。问题在于什么是观点。我需要下面的部分是背景颜色,而不是表格视图的背景颜色。

2 个答案:

答案 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属性。将其设置为滚动视图。此滚动视图将包含部分的背景视图。将自己定义为表视图的contentSizecontentOffset的观察者,并改变与表视图平行的滚动视图的值。使用rectForSection:方法获取背景视图的框架,并在滚动视图中创建子视图,并设置适当的背景颜色。这应该在一定程度上起作用。

这种方法的问题在于,当表格视图在边缘上反弹时,滚动视图将保持静态。然后就是让细胞与这种背景很好地融合的情况。