如何重叠UITableViewCells?

在这里输入图像说明

如果你看截图,你会注意到每个UITableViewCell从顶部到上部的tableview单元重叠20%。

有什么办法可以重叠单元格吗?

我从来没有尝试过,但这种逻辑将起作用。 请记住,在重叠区域不会有任何接触。

1)将你的子视图添加到cell.contentView ,确保子视图高度大于tableView的rowHeight

 float overlapHeight = 10.0; subView.frame = CGRectMake(0.0, -10.0, your_subview_width, rowHeight + overlapHeight); 

2)添加此代码,以便您的单元格不会剪辑其框架之外的内容

 cell.clipsToBounds = NO; cell.contentView.clipsToBounds = NO; 

3)现在你的单元格会重叠,但是在单元格边界周围会有一个剪辑标记。 为了避免实现willDisplayCell委托function

 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { cell.backgroundColor = [UIColor clearColor]; } 

重叠效果可以通过组合两个部分的单元格来实现:顶部窄,底部宽。 底部很简单:它是一个灰色的矩形,里面有一个文本/图像组件。 诀窍在顶部。

顶部的高度等于整个彩色标签的高度。 您的程序可以将两个图像中的一个放在那里 – 在表示先前单元格底部的窄灰色条带顶部的选项卡,或者在棕色背景顶部的选项卡。 在你的tableView:cellForRowAtIndexPath:检查row 。 如果为零,则select带有棕色背景的图像; 否则,在顶部的背景中select带有灰色条纹的图像。

不需要重叠单元格。 你的顶部单元格应该是这样的:

在这里输入图像说明

所有剩余的单元格应该如下所示:

在这里输入图像说明

你的tableFooterView应该只是一个灰色条(单元格的“底部”),