TableView包含自定义部分和单元格

时间:2014-08-27 11:53:05

标签: ios objective-c uitableview tableview

我有这种tableView,我有问题,因为我在每个部分的底部都有可见的分隔符。我该如何删除它?我需要在部分中间使用它,但不是底部。

此外,我需要在各部分之间使用相同的空间。我明白了我的代码

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if(section == 0)
    return 15;
return 1.0;
}


- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
return 14.0;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
return [[UIView alloc] initWithFrame:CGRectZero];
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
return [[UIView alloc] initWithFrame:CGRectZero];
}

2 个答案:

答案 0 :(得分:0)

替换此

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section == 0)
       return 15;
    return 1.0;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
    if(section == 0)
       return 0;
    return 15.0;
}

并删除这两种方法

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

答案 1 :(得分:0)

处理viewDidLoad

中的分隔符
[self.tableView setSeparatorColor:[UIColor clearColor]];
<{>>在cellForRowAtIndexPath:中,您可以根据indexPath.row和indexPath.section值自定义分隔符视图,例如

if(indexPath.row != self.yourArray.count-1)
{
     UIImageView *line = [[UIImageView alloc] initWithFrame:CGRectMake(0, yourCellHeight -2, 320, 2)];
     line.backgroundColor = [UIColor redColor];
     [cell addSubview:line];
}