这是我的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;
}