1

我有一个 UITableView,它是一个分组表视图。我正在尝试将图像添加为表格视图的标题(并且仅适用于第一部分)。我遇到的问题是图像覆盖了表格视图的第一部分。

这是代码:

- (UIView*)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.frame.size.width, 80)];
    NSData *imageData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"http://www.eventsforacausesf.com/uploads/8/7/3/0/8730216/3416277_orig.jpg"]];
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, headerView.frame.size.width, headerView.frame.size.height)];
    imageView.image = [UIImage imageWithData:imageData];
    [headerView addSubview:imageView];

    if (section == 0) {
        return headerView;
    }
    return nil;
}

例如,在下图中,tableview 的第一部分隐藏在图像后面。我需要将该部分移动到图像下方。

描述

4

2 回答 2

2

您使用该数据源方法设置的是表视图特定部分的标题,但在我看来,您想要设置tableViewHeader表视图本身的标题。将表视图的tableViewHeader属性设置为标题视图,而不是将标题视图作为节标题返回。然后您将获得标准的 iOS 标题与内容布局。

于 2013-04-12T18:59:07.683 回答
0

您还需要实现tableView:heightForHeaderInSection:返回图像视图的高度。

于 2013-04-12T18:57:48.177 回答