首页 文章

UITableView带半透明部分 Headers 和不同颜色的部分背景

提问于
浏览
5

我正在尝试使用如下分层元素设置UITableView:

diagram

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

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

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

2 回答

  • 1

    没有确切的框架为此提供解决方案,但我们可以使用 backgroundView 属性 . 将其设置为滚动视图 . 此滚动视图将包含部分的背景视图 . 将自己定义为表视图的 contentSizecontentOffset 的观察者,并更改滚动视图's values parallel to table view' . 使用 rectForSection: 方法获取背景视图的框架,并使用适当的背景颜色设置子视图到滚动视图 . 这应该在一定程度上起作用 .

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

  • 1

    在 Headers 中使用UIImageView并使用(自定义)图像 .

    - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section           {
    
          UIView * junkView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"headerImageBackground.png"]];
          junkView.alpha = .3;
          [junkView autorelease];
          return junkView;
     }
    

相关问题