这是我的UITableView的样子:

我可能会裁切图像以使其接近最后一个单元格,但最后一个单元格上没有分隔符。

在具有IOS 7.1.1的设备上运行此命令时,它会得到相同的结果,直到我将视图上下滚动一点,然后它会自动添加分隔符。但是,可以尝试在运行于IOS 8.2的模拟器中尝试该操作,不会发生任何事情。

所以我想要的只是使分隔符从一开始就可见。

非常感谢

EDIT1

在尝试了下面的答案后,它确实起作用了,但是当单元格很多并且向上滚动时,您会看到一个额外的分隔符。

检查倒数第三个单元格。当我上下时,那个额外的分隔符就跟在我后面。

EDIT2

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([cell respondsToSelector:@selector(setSeparatorInset:)])
    {
        [cell setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([cell respondsToSelector:@selector(setLayoutMargins:)])
    {
        [cell setLayoutMargins:UIEdgeInsetsZero];
    }
}

-(void)viewDidLayoutSubviews
{
    if ([self.tableView respondsToSelector:@selector(setSeparatorInset:)])
    {
        [self.tableView setSeparatorInset:UIEdgeInsetsZero];
    }

    if ([self.tableView respondsToSelector:@selector(setLayoutMargins:)])
    {
        [self.tableView setLayoutMargins:UIEdgeInsetsZero];
    }
}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(indexPath.section == 0)
        return 76.0f;
    else
        return 25.0f;
}

最佳答案

使用下面的两个UITableView委托方法

-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
UIView* view = [UIView new];
[view setBackgroundColor:[UIColor grayColor]];
return view;
}

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

10-05 20:26
查看更多